From 57af78e72423d6df5872ec20ff1cd9e85cadc427 Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Mon, 20 Jul 2026 20:39:20 +1000 Subject: [PATCH 1/9] feat: support protect-ffi 0.30 JSON queries --- .changeset/protect-ffi-030-json-selectors.md | 33 + examples/prisma/README.md | 4 +- .../20260714T2142_initial/end-contract.d.ts | 10 +- .../20260714T2142_initial/end-contract.json | 6 +- .../app/20260714T2142_initial/migration.ts | 4 +- .../app/20260714T2142_initial/ops.json | 2 +- .../ops.json | 2 +- examples/prisma/prisma/schema.prisma | 2 +- examples/prisma/src/index.ts | 4 +- examples/prisma/src/prisma/contract.d.ts | 20 +- examples/prisma/src/prisma/contract.json | 16 +- examples/prisma/test/e2e/README.md | 4 +- examples/prisma/test/e2e/json.e2e.test.ts | 6 +- .../prisma/test/e2e/str-range.e2e.test.ts | 2 +- packages/cli/package.json | 2 +- packages/prisma-next/README.md | 2 +- packages/prisma-next/package.json | 2 +- .../prisma-next/src/contract-authoring.ts | 4 + .../src/extension-metadata/constants-v3.ts | 2 +- .../src/migration/eql-bundle-v3.ts | 3 +- packages/prisma-next/src/types/codec-types.ts | 2 +- .../prisma-next/src/types/operation-types.ts | 52 +- packages/prisma-next/src/v3/operators-v3.ts | 157 +- packages/prisma-next/src/v3/query-term.ts | 14 +- packages/prisma-next/test/authoring.test.ts | 10 +- .../prisma-next/test/column-types.test.ts | 6 +- .../prisma-next/test/live/helpers/harness.ts | 2 +- .../test/live/operators-live-pg.test.ts | 35 +- .../test/operation-types.types.test-d.ts | 6 +- .../test/psl-interpretation.test.ts | 4 +- .../test/v3/bulk-encrypt-v3.test.ts | 2 +- .../test/v3/catalog-invariants.test.ts | 10 +- packages/prisma-next/test/v3/catalog.test.ts | 8 +- .../test/v3/codec-runtime-v3.test.ts | 11 +- .../test/v3/codec-types-v3.test-d.ts | 4 +- .../test/v3/derive-schemas-v3.test.ts | 6 +- .../prisma-next/test/v3/migration-v3.test.ts | 2 +- .../test/v3/operator-gating-v3.test.ts | 2 +- .../test/v3/operator-lowering-v3-json.test.ts | 120 +- .../operator-lowering-v3-text-search.test.ts | 12 +- .../test/v3/operator-lowering-v3.helpers.ts | 2 +- .../prisma-next/test/v3/properties.test.ts | 40 +- .../prisma-next/test/v3/runtime-v3.test.ts | 2 + .../test/v3/sdk-adapter-v3.test.ts | 34 + .../__tests__/v3/operators.test.ts | 93 +- .../__tests__/v3/sql-dialect.test.ts | 2 +- .../json-contains.integration.test.ts | 6 +- .../json-selector.integration.test.ts | 12 +- packages/stack-drizzle/package.json | 2 +- packages/stack-drizzle/src/v3/operators.ts | 133 +- packages/stack-drizzle/src/v3/sql-dialect.ts | 25 +- packages/stack-supabase/README.md | 8 +- .../__tests__/supabase-introspect.test.ts | 30 +- .../__tests__/supabase-schema-builder.test.ts | 7 +- .../__tests__/supabase-v3-builder.test.ts | 2 +- .../__tests__/supabase-v3-factory.test.ts | 17 + .../__tests__/supabase-v3-json.test.ts | 22 +- .../__tests__/supabase-v3-matrix.test.ts | 2 +- .../introspect.integration.test.ts | 8 +- .../integration/json.integration.test.ts | 201 +- .../integration/wire.integration.test.ts | 85 +- packages/stack-supabase/package.json | 2 +- packages/stack-supabase/src/index.ts | 8 +- packages/stack-supabase/src/introspect.ts | 28 +- .../stack-supabase/src/query-builder-v3.ts | 52 +- packages/stack-supabase/src/query-builder.ts | 2 +- packages/stack-supabase/src/types.ts | 59 +- packages/stack/README.md | 43 +- .../encrypt-query-searchable-json.test.ts | 865 +----- .../__tests__/encrypt-query-stevec.test.ts | 367 +-- .../__tests__/eql-v3-domain-registry.test.ts | 2 +- packages/stack/__tests__/error-codes.test.ts | 1 - .../stack/__tests__/infer-index-type.test.ts | 16 +- .../stack/__tests__/init-strategy.test.ts | 10 + .../stack/__tests__/match-bloom-live.test.ts | 22 +- .../__tests__/searchable-json-pg.test.ts | 2396 ----------------- .../stack/__tests__/test-kit-families.test.ts | 6 +- packages/stack/__tests__/types.test-d.ts | 1 + .../__tests__/v3-matrix/matrix.test-d.ts | 2 +- .../stack/__tests__/wasm-inline-query.test.ts | 2 +- .../shared/json-crypto.integration.test.ts | 2 +- .../shared/match-bloom.integration.test.ts | 2 +- .../shared/matrix-crypto.integration.test.ts | 2 +- .../shared/matrix-sql.integration.test.ts | 6 +- .../shared/schema-pg.integration.test.ts | 4 +- packages/stack/integration/wasm/adapter.ts | 4 +- packages/stack/package.json | 4 +- .../stack/src/encryption/helpers/index.ts | 8 +- .../encryption/helpers/infer-index-type.ts | 10 +- packages/stack/src/encryption/index.ts | 29 +- .../operations/batch-encrypt-query.ts | 13 +- packages/stack/src/eql/v3/columns.ts | 10 +- packages/stack/src/eql/v3/selector-path.ts | 24 +- packages/stack/src/schema/index.ts | 4 + packages/stack/src/types.ts | 26 +- packages/stack/src/wasm-inline.ts | 8 +- packages/test-kit/src/catalog.ts | 2 +- packages/test-kit/src/families.ts | 2 +- pnpm-lock.yaml | 84 +- skills/stash-drizzle/SKILL.md | 10 +- skills/stash-encryption/SKILL.md | 25 +- skills/stash-prisma-next/SKILL.md | 10 +- skills/stash-supabase/SKILL.md | 133 +- 103 files changed, 1345 insertions(+), 4289 deletions(-) create mode 100644 .changeset/protect-ffi-030-json-selectors.md delete mode 100644 packages/stack/__tests__/searchable-json-pg.test.ts diff --git a/.changeset/protect-ffi-030-json-selectors.md b/.changeset/protect-ffi-030-json-selectors.md new file mode 100644 index 000000000..a272716dd --- /dev/null +++ b/.changeset/protect-ffi-030-json-selectors.md @@ -0,0 +1,33 @@ +--- +'@cipherstash/stack': minor +'@cipherstash/stack-drizzle': minor +'@cipherstash/stack-supabase': patch +'@cipherstash/prisma-next': minor +'stash': patch +--- + +Upgrade Stack to `@cipherstash/protect-ffi` 0.30 and EQL 3.0.2. + +Encrypted JSON now uses the `public.eql_v3_json_search` storage domain and +`eql_v3.query_json` query domain. Drizzle selector equality uses exact, +GIN-indexable value-selector containment, while selector ordering uses a +ciphertext-free path selector plus string/number query term. Prisma Next gains +the equivalent `eqlJsonPathEq`, `eqlJsonPathNeq`, `eqlJsonPathGt`, +`eqlJsonPathGte`, `eqlJsonPathLt`, and `eqlJsonPathLte` operators. + +The FFI now rejects free-text needles shorter than the configured n-gram size +at the core query-encryption boundary, including callers that bypass adapter +guards. + +This EQL release changes the SteVec storage format. Existing EQL v3 encrypted +JSON rows must be re-encrypted before they can be queried with the new domain. +Legacy EQL v2 `searchableJson()` schemas are rejected during client setup +because the old selector envelope can no longer be emitted; migrate them to the +v3 `types.Json` domain. + +EQL 3.0.2 requires typed query-domain operands for encrypted free-text and JSON +operators. PostgREST cannot express those casts, so Supabase v3 fails fast for +`matches()`, encrypted `contains()`, and `selectorEq()`/`selectorNe()` instead +of placing a decryptable storage envelope in a GET query string that the new +SQL surface will reject. Use the Drizzle or Prisma Next adapter, or a carefully +scoped direct SQL/RPC path. diff --git a/examples/prisma/README.md b/examples/prisma/README.md index bc6445c4d..afd336cf2 100644 --- a/examples/prisma/README.md +++ b/examples/prisma/README.md @@ -11,7 +11,7 @@ A single `User` model with one column per plaintext family, exercised end-to-end | `accountId` | `cipherstash.BigIntOrd()` | `public.eql_v3_bigint_ord` | equality + order/range (true `bigint`) | | `birthday` | `cipherstash.DateOrd()` | `public.eql_v3_date_ord` | equality + order/range | | `emailVerified` | `cipherstash.Boolean()` | `public.eql_v3_boolean` | storage-only (no operators) | -| `preferences` | `cipherstash.Json()` | `public.eql_v3_json` | `eqlJsonContains` (`@>`) | +| `preferences` | `cipherstash.Json()` | `public.eql_v3_json_search` | `eqlJsonContains` (`@>`) | 📖 See the [Prisma Next encryption docs](https://cipherstash.com/docs/stack/cipherstash/encryption/prisma-next) for the full operator reference, security model, and known limitations. @@ -102,7 +102,7 @@ Found 2 user(s) with a dark-theme preference. Two v3 behaviours worth noticing in that output: -- **`eqlMatch` is fuzzy bloom-filter token matching** (`eql_v3.contains`), not SQL `ILIKE` — the needle's tokens must appear in the ciphertext's index. Plain literal terms like `example.com` are the idiomatic needle: leading/trailing `%` are stripped for compatibility, while an interior `%` or any `_` throws (the tokenizer would treat them as ordinary characters), as do needles shorter than the match tokenizer length. +- **`eqlMatch` is fuzzy bloom-filter token matching** (`eql_v3.matches`), not SQL `ILIKE` — the needle's tokens must appear in the ciphertext's index. Plain literal terms like `example.com` are the idiomatic needle: leading/trailing `%` are stripped for compatibility, while an interior `%` or any `_` throws (the tokenizer would treat them as ordinary characters), as do needles shorter than the match tokenizer length. - **`eql_v3_boolean` is storage-only.** It round-trips `true`/`false` losslessly but surfaces no search operators — calling one throws `EncryptionOperatorError`. Filter on a searchable column and decrypt the boolean from the result set. ## References diff --git a/examples/prisma/migrations/app/20260714T2142_initial/end-contract.d.ts b/examples/prisma/migrations/app/20260714T2142_initial/end-contract.d.ts index 995e0f8c3..ac8c33f34 100644 --- a/examples/prisma/migrations/app/20260714T2142_initial/end-contract.d.ts +++ b/examples/prisma/migrations/app/20260714T2142_initial/end-contract.d.ts @@ -62,7 +62,7 @@ export type FieldOutputTypes = { readonly accountId: CodecTypes['cipherstash/eql-v3/eql_v3_bigint_ord@1']['output']; readonly birthday: CodecTypes['cipherstash/eql-v3/eql_v3_date_ord@1']['output']; readonly emailVerified: CodecTypes['cipherstash/eql-v3/eql_v3_boolean@1']['output']; - readonly preferences: CodecTypes['cipherstash/eql-v3/eql_v3_json@1']['output']; + readonly preferences: CodecTypes['cipherstash/eql-v3/eql_v3_json_search@1']['output']; }; }; }; @@ -75,7 +75,7 @@ export type FieldInputTypes = { readonly accountId: CodecTypes['cipherstash/eql-v3/eql_v3_bigint_ord@1']['input']; readonly birthday: CodecTypes['cipherstash/eql-v3/eql_v3_date_ord@1']['input']; readonly emailVerified: CodecTypes['cipherstash/eql-v3/eql_v3_boolean@1']['input']; - readonly preferences: CodecTypes['cipherstash/eql-v3/eql_v3_json@1']['input']; + readonly preferences: CodecTypes['cipherstash/eql-v3/eql_v3_json_search@1']['input']; }; }; }; @@ -167,8 +167,8 @@ type ContractBase = Omit< }; }; readonly preferences: { - readonly nativeType: 'public.eql_v3_json'; - readonly codecId: 'cipherstash/eql-v3/eql_v3_json@1'; + readonly nativeType: 'public.eql_v3_json_search'; + readonly codecId: 'cipherstash/eql-v3/eql_v3_json_search@1'; readonly nullable: false; readonly typeParams: { readonly castAs: 'json'; @@ -288,7 +288,7 @@ type ContractBase = Omit< readonly nullable: false; readonly type: { readonly kind: 'scalar'; - readonly codecId: 'cipherstash/eql-v3/eql_v3_json@1'; + readonly codecId: 'cipherstash/eql-v3/eql_v3_json_search@1'; readonly typeParams: { readonly castAs: 'json'; readonly capabilities: { diff --git a/examples/prisma/migrations/app/20260714T2142_initial/end-contract.json b/examples/prisma/migrations/app/20260714T2142_initial/end-contract.json index d49354dbb..e27c5f39d 100644 --- a/examples/prisma/migrations/app/20260714T2142_initial/end-contract.json +++ b/examples/prisma/migrations/app/20260714T2142_initial/end-contract.json @@ -79,7 +79,7 @@ "preferences": { "nullable": false, "type": { - "codecId": "cipherstash/eql-v3/eql_v3_json@1", + "codecId": "cipherstash/eql-v3/eql_v3_json_search@1", "kind": "scalar", "typeParams": { "capabilities": { @@ -196,8 +196,8 @@ "nullable": false }, "preferences": { - "codecId": "cipherstash/eql-v3/eql_v3_json@1", - "nativeType": "public.eql_v3_json", + "codecId": "cipherstash/eql-v3/eql_v3_json_search@1", + "nativeType": "public.eql_v3_json_search", "nullable": false, "typeParams": { "capabilities": { diff --git a/examples/prisma/migrations/app/20260714T2142_initial/migration.ts b/examples/prisma/migrations/app/20260714T2142_initial/migration.ts index 7b992853b..384d4f0b6 100755 --- a/examples/prisma/migrations/app/20260714T2142_initial/migration.ts +++ b/examples/prisma/migrations/app/20260714T2142_initial/migration.ts @@ -65,10 +65,10 @@ export default class M extends Migration { notNull: true, codecRef: { codecId: 'pg/text@1' }, }), - col('preferences', 'eql_v3_json', { + col('preferences', 'eql_v3_json_search', { notNull: true, codecRef: { - codecId: 'cipherstash/eql-v3/eql_v3_json@1', + codecId: 'cipherstash/eql-v3/eql_v3_json_search@1', typeParams: { capabilities: { searchableJson: true }, castAs: 'json', diff --git a/examples/prisma/migrations/app/20260714T2142_initial/ops.json b/examples/prisma/migrations/app/20260714T2142_initial/ops.json index 078f40910..ed16fe485 100644 --- a/examples/prisma/migrations/app/20260714T2142_initial/ops.json +++ b/examples/prisma/migrations/app/20260714T2142_initial/ops.json @@ -24,7 +24,7 @@ "execute": [ { "description": "create table \"users\"", - "sql": "CREATE TABLE \"public\".\"users\" (\n \"accountid\" eql_v3_bigint_ord NOT NULL,\n \"birthday\" eql_v3_date_ord NOT NULL,\n \"email\" eql_v3_text_search NOT NULL,\n \"emailverified\" eql_v3_boolean NOT NULL,\n \"id\" text NOT NULL,\n \"preferences\" eql_v3_json NOT NULL,\n \"salary\" eql_v3_double_ord NOT NULL,\n PRIMARY KEY (\"id\")\n)", + "sql": "CREATE TABLE \"public\".\"users\" (\n \"accountid\" eql_v3_bigint_ord NOT NULL,\n \"birthday\" eql_v3_date_ord NOT NULL,\n \"email\" eql_v3_text_search NOT NULL,\n \"emailverified\" eql_v3_boolean NOT NULL,\n \"id\" text NOT NULL,\n \"preferences\" eql_v3_json_search NOT NULL,\n \"salary\" eql_v3_double_ord NOT NULL,\n PRIMARY KEY (\"id\")\n)", "params": [] } ], diff --git a/examples/prisma/migrations/cipherstash/20260601T0100_install_eql_v3_bundle/ops.json b/examples/prisma/migrations/cipherstash/20260601T0100_install_eql_v3_bundle/ops.json index bf6e43982..df2eaf633 100644 --- a/examples/prisma/migrations/cipherstash/20260601T0100_install_eql_v3_bundle/ops.json +++ b/examples/prisma/migrations/cipherstash/20260601T0100_install_eql_v3_bundle/ops.json @@ -11,7 +11,7 @@ "execute": [ { "description": "Install EQL v3 bundle (eql-3.0.0: public.eql_v3_* domains + eql_v3.* functions)", - "sql": "--! @file v3/schema.sql\n--! @brief EQL v3 schema creation\n--!\n--! Creates the eql_v3 and eql_v3_internal schemas. User-column encrypted\n--! domains (public.eql_v3_integer, public.eql_v3_bigint, and future scalar domains) live in\n--! public so application tables survive EQL schema uninstall. eql_v3 is the\n--! public API for index-term extractors, aggregates, AND the operator-backing\n--! comparison wrappers\n--! (eq/neq/lt/lte/gt/gte/contains/contained_by, plus the jsonb containment\n--! helpers). The wrappers are public because they are the function-form\n--! equivalent of every supported operator: platforms without operator support\n--! (Supabase/PostgREST calls functions, not operators) invoke them by name.\n--! eql_v3_internal houses INTERNAL implementation objects only: the\n--! searchable-encrypted-metadata (SEM) index-term types\n--! (eql_v3_internal.hmac_256, eql_v3_internal.ore_block_256) and their support\n--! functions, the unsupported-operator blockers (which only raise), and the\n--! aggregate state functions. Together the two schemas are self-contained —\n--! they own every type they need and have no runtime dependency on another EQL\n--! schema.\n--!\n--! Drops existing schema if present to support clean reinstallation.\n--!\n--! @warning DROP SCHEMA CASCADE will remove all objects in the schema\n--! @note eql_v3 is a new, additional schema for the encrypted-domain families.\n--!\n--! @note DESIGN DECISION — EQL never grants permissions automatically. This\n--! installer issues no GRANT (or REVOKE) on eql_v3 or eql_v3_internal:\n--! access is strictly opt-in. A deployment that exposes EQL to\n--! non-owner roles (e.g. Supabase `authenticated`/`anon` via PostgREST)\n--! must explicitly `GRANT USAGE ON SCHEMA eql_v3` and `GRANT EXECUTE` on\n--! the functions it needs. This is intentional least-privilege, not an\n--! oversight — see docs/reference/permissions.md. eql_v3_internal is not\n--! part of the public API and normally needs no grant; where a caller\n--! reaches an internal object indirectly (a public operator/aggregate\n--! whose backing state-fn/blocker lives there), grant it deliberately.\n\n--! @brief Drop existing EQL v3 schema\n--! @warning CASCADE will drop all dependent objects\nDROP SCHEMA IF EXISTS eql_v3 CASCADE;\n\n--! @brief Create EQL v3 schema\n--! @note Houses the encrypted-domain type families\nCREATE SCHEMA eql_v3;\n\n--! @brief Drop existing EQL v3 internal schema\n--! @warning CASCADE will drop all dependent objects\nDROP SCHEMA IF EXISTS eql_v3_internal CASCADE;\n\n--! @brief Create EQL v3 internal implementation schema\n--! @note Houses INTERNAL eql_v3 objects only: SEM index-term TYPES + their\n--! support/constructor/comparator functions, the unsupported-operator\n--! blockers (which only raise), the aggregate state functions, and the\n--! SteVec CHECK validators. Kept out of the public `eql_v3` surface so\n--! internal index-term TYPES do not clutter the Supabase Table Builder\n--! type picker. NOTE: the operator-backing comparison *wrappers* are NOT\n--! here — they are public in `eql_v3` so every operator has a callable\n--! function equivalent for platforms without operator support.\nCREATE SCHEMA eql_v3_internal;\nCOMMENT ON SCHEMA eql_v3_internal IS\n 'EQL internal implementation detail; not a public API surface.';\n\n--! @brief Schemas owned by the eql_v3 surface\n--!\n--! Single source of truth for tooling that must enumerate every schema this\n--! installer owns (`eql_v3.lints()`, `tasks/pin_search_path_v3.sql`), so a\n--! future third eql_v3-family schema is one array literal to edit instead of\n--! a hardcoded schema-name predicate repeated at every call site. Keep in\n--! sync with the `SCHEMA` / `INTERNAL_SCHEMA` constants in\n--! `crates/eql-codegen/src/consts.rs` — those drive what codegen emits into\n--! each schema; this drives what tooling scans across both.\n--!\n--! @return name[] The schema names eql_v3 owns (public + internal).\nCREATE FUNCTION eql_v3_internal.owned_schemas()\n RETURNS name[]\n LANGUAGE sql IMMUTABLE PARALLEL SAFE\nAS $$\n SELECT ARRAY['eql_v3', 'eql_v3_internal']::name[]\n$$;\n\n--! @file v3/crypto.sql\n--! @brief PostgreSQL pgcrypto extension enablement (eql_v3 fork)\n--!\n--! Forked from src/crypto.sql (design D8) so the entire eql_v3 dependency\n--! closure lives under src/v3/. Enables the pgcrypto extension which provides\n--! cryptographic functions used by the eql_v3 ORE comparison path.\n--!\n--! Installs pgcrypto into the `extensions` schema (Supabase convention) to\n--! avoid the `extension_in_public` lint. Every EQL function that uses pgcrypto\n--! has `pg_catalog, extensions, public` on its `search_path`, so a pre-existing\n--! install in `public` keeps working — and a pre-existing install anywhere else\n--! will be rejected at install time. The body is idempotent\n--! (`CREATE SCHEMA IF NOT EXISTS`, `pg_extension` guard), so running it\n--! alongside the eql_v2 copy in a combined install is safe.\n--!\n--! @note pgcrypto provides functions like digest(), hmac(), gen_random_bytes()\n\n--! @brief Create extensions schema (Supabase convention)\nCREATE SCHEMA IF NOT EXISTS extensions;\n\n--! @brief Enable pgcrypto extension and validate its schema\nDO $$\nDECLARE\n pgcrypto_schema name;\nBEGIN\n IF NOT EXISTS (SELECT 1 FROM pg_extension WHERE extname = 'pgcrypto') THEN\n CREATE EXTENSION pgcrypto WITH SCHEMA extensions;\n END IF;\n\n SELECT n.nspname INTO pgcrypto_schema\n FROM pg_extension e\n JOIN pg_namespace n ON n.oid = e.extnamespace\n WHERE e.extname = 'pgcrypto';\n\n IF pgcrypto_schema = 'extensions' THEN\n -- expected location, nothing to say\n NULL;\n ELSIF pgcrypto_schema = 'public' THEN\n RAISE NOTICE\n 'pgcrypto is installed in the `public` schema. EQL works against this layout, '\n 'but Supabase splinter will flag it as `extension_in_public`. Move it with: '\n 'ALTER EXTENSION pgcrypto SET SCHEMA extensions';\n ELSE\n RAISE EXCEPTION\n 'pgcrypto is installed in schema `%`, which is not on the EQL function search_path '\n '(pg_catalog, extensions, public). EQL cryptographic operations would fail at '\n 'runtime. Relocate the extension before installing EQL: '\n 'ALTER EXTENSION pgcrypto SET SCHEMA extensions',\n pgcrypto_schema;\n END IF;\nEND $$;\n\n--! @file v3/common.sql\n--! @brief Common utility functions for the self-contained eql_v3 surface.\n--!\n--! Forked from src/common.sql (design D7) so the eql_v3 ORE constructor owns the\n--! one transitive helper it needs without reaching into another schema. The\n--! eql_v2 original is unchanged.\n\n--! @brief Convert JSONB hex array to bytea array\n--! @internal\n--!\n--! Converts a JSONB array of hex-encoded strings into a PostgreSQL bytea array.\n--! Used for deserializing binary data (like ORE terms) from JSONB storage.\n--!\n--! @param val jsonb JSONB array of hex-encoded strings\n--! @return bytea[] Array of decoded binary values\n--!\n--! @note Returns NULL if input is JSON null\n--! @note Each array element is hex-decoded to bytea\n--! @note plpgsql, not `LANGUAGE sql` (issue #353). This helper's ONLY caller\n--! chain is `ore_block_256(val)` -> `jsonb_array_to_ore_block_256(val)` —\n--! both reached exclusively from plpgsql and btree operator-class support\n--! contexts, where SQL functions can NEVER be inlined and instead pay the\n--! per-call SQL-function executor (measured 3.5x the per-call cost of the\n--! plpgsql equivalent; +43% on ORE ordered scans end-to-end). plpgsql\n--! caches its plan across calls. The non-array guard preserves the v3\n--! behaviour (returns NULL for a non-array scalar; the v2 plpgsql original\n--! raised) — both callers only ever pass an array or JSON null (`val->'ob'`),\n--! so the divergence stays unreachable in practice; JSON null and empty\n--! array still return NULL exactly as before.\nCREATE FUNCTION eql_v3_internal.jsonb_array_to_bytea_array(val jsonb)\nRETURNS bytea[]\n IMMUTABLE\nAS $$\nDECLARE\n result bytea[];\nBEGIN\n IF val IS NULL OR jsonb_typeof(val) != 'array' THEN\n RETURN NULL;\n END IF;\n SELECT array_agg(decode(value::text, 'hex')::bytea)\n INTO result\n FROM jsonb_array_elements_text(val) AS value;\n RETURN result;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @internal Keep the inline-critical marker so the post-install\n--! pin_search_path pass leaves this unpinned: a `SET search_path` clause on a\n--! plpgsql function forces per-call configuration switching — measurable on a\n--! helper invoked per compared value in the ore_block_256 opclass hot path.\n--! It takes a bare `jsonb` arg (not a jsonb-backed encrypted DOMAIN), so the\n--! structural skip in tasks/pin_search_path_v3.sql does not recognise it;\n--! this marker is the documented manual opt-in.\nCOMMENT ON FUNCTION eql_v3_internal.jsonb_array_to_bytea_array(jsonb) IS\n 'eql-inline-critical: per-encrypted-value ORE opclass-path helper; must stay unpinned (SET search_path adds per-call overhead)';\n\n--! @file v3/sem/ore_block_256/types.sql\n--! @brief ORE block index-term types (eql_v3 SEM).\n--!\n--! Self-contained eql_v3 copies of the Order-Revealing Encryption block types\n--! (design D1/D3). The eql_v2 originals are unchanged.\n\n--! @brief ORE block term type for Order-Revealing Encryption\n--!\n--! Composite type representing a single ORE block term. Stores encrypted data\n--! as bytea that enables range comparisons without decryption.\nCREATE TYPE eql_v3_internal.ore_block_256_term AS (\n bytes bytea\n);\n\n\n--! @brief ORE block index term type for range queries\n--!\n--! Composite type containing an array of ORE block terms. The array is stored\n--! in the 'ob' field of encrypted data payloads.\n--!\n--! @note Transient type used only during query execution.\nCREATE TYPE eql_v3_internal.ore_block_256 AS (\n terms eql_v3_internal.ore_block_256_term[]\n);\n\n--! @file v3/sem/ore_block_256/functions.sql\n--! @brief ORE block construction, extraction, and comparison (eql_v3 SEM).\n--!\n--! jsonb-only subset of src/ore_block_u64_8_256/functions.sql. The\n--! encrypted-column overloads are omitted; the helper jsonb_array_to_bytea_array\n--! and pgcrypto encrypt() are reached via the forked src/v3/common.sql and\n--! src/v3/crypto.sql so the whole closure stays under src/v3. (Doc comments\n--! deliberately avoid naming eql_v2 symbols so the self-containment grep stays\n--! clean.)\n\n--! @brief Convert JSONB array to ORE block composite type\n--! @internal\n--! @param val jsonb Array of hex-encoded ORE block terms\n--! @return eql_v3_internal.ore_block_256 ORE block composite, or NULL if input is null\n--! @note plpgsql, not `LANGUAGE sql` (issue #353). The sole caller\n--! (`ore_block_256`) is itself plpgsql, so this function is NEVER reached\n--! from an inlinable context — as `LANGUAGE sql` it paid the per-call\n--! SQL-function executor on every compared value in the opclass hot path\n--! (measured: +43% on ORE ordered scans vs the plpgsql form). The\n--! non-array guard preserves the v3 behaviour (returns NULL for a\n--! non-array scalar; the v2 plpgsql original raised); the caller only\n--! reaches this when `has_ore_block_256(val)` is true, which requires\n--! `val->'ob'` to be a JSON array, so that branch stays unreachable.\n--! An empty array (`ob: []`, what encrypting the empty string `\"\"` produces)\n--! yields a non-NULL composite with an EMPTY `terms` array — NOT NULL terms.\n--! The `COALESCE` is load-bearing: `array_agg` over zero rows returns NULL, and\n--! NULL terms make the comparator return NULL (so an empty-text row silently\n--! drops out of ordered queries). An empty array instead engages the\n--! comparator's `cardinality = 0` guard, which sorts empty BEFORE every\n--! non-empty term. See issue #262 (pinned by T7).\nCREATE FUNCTION eql_v3_internal.jsonb_array_to_ore_block_256(val jsonb)\nRETURNS eql_v3_internal.ore_block_256\n IMMUTABLE\nAS $$\nDECLARE\n terms eql_v3_internal.ore_block_256_term[];\nBEGIN\n IF val IS NULL OR jsonb_typeof(val) != 'array' THEN\n RETURN NULL;\n END IF;\n SELECT array_agg(ROW(b)::eql_v3_internal.ore_block_256_term)\n INTO terms\n FROM unnest(eql_v3_internal.jsonb_array_to_bytea_array(val)) AS b;\n -- plpgsql pitfall: `SELECT INTO ` assigns the\n -- select-list columns FIELD-WISE into the variable — return the row\n -- constructor directly instead. The COALESCE stays load-bearing for the\n -- empty-`ob` case (issue #262): array_agg over zero rows yields NULL, and\n -- the comparator needs an EMPTY terms array, not NULL terms.\n RETURN ROW(COALESCE(terms, ARRAY[]::eql_v3_internal.ore_block_256_term[]))::eql_v3_internal.ore_block_256;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @internal Keep the inline-critical marker so the post-install\n--! pin_search_path pass leaves this unpinned: a `SET search_path` clause on a\n--! plpgsql function forces per-call configuration switching — measurable on a\n--! helper invoked per compared value in the ore_block_256 opclass hot path.\n--! It takes a bare `jsonb` arg (not a jsonb-backed encrypted DOMAIN), so the\n--! structural skip in tasks/pin_search_path_v3.sql does not recognise it;\n--! this marker is the documented manual opt-in.\nCOMMENT ON FUNCTION eql_v3_internal.jsonb_array_to_ore_block_256(jsonb) IS\n 'eql-inline-critical: per-encrypted-value ORE opclass-path helper; must stay unpinned (SET search_path adds per-call overhead)';\n\n\n--! @brief Extract ORE block index term from JSONB payload\n--! @param val jsonb containing encrypted EQL payload\n--! @return eql_v3_internal.ore_block_256 ORE block index term\n--! @throws Exception if 'ob' field is missing\nCREATE FUNCTION eql_v3_internal.ore_block_256(val jsonb)\n RETURNS eql_v3_internal.ore_block_256\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n -- Declared STRICT: PostgreSQL returns NULL for a NULL argument without\n -- entering the body, so no explicit `val IS NULL` guard is needed.\n IF eql_v3_internal.has_ore_block_256(val) THEN\n RETURN eql_v3_internal.jsonb_array_to_ore_block_256(val->'ob');\n END IF;\n RAISE 'Expected an ore index (ob) value in json: %', val;\n END;\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Check if JSONB payload contains an ORE block index term\n--! @param val jsonb containing encrypted EQL payload\n--! @return boolean True only if the 'ob' field is present and is a JSON array\n--! @note A well-formed ORE index term is always a JSON array of block terms, so\n--! this guard treats a present-but-non-array `ob` (a scalar or object) as\n--! absent. That makes the extractor `ore_block_256(val)` RAISE on a\n--! structurally invalid `ob` payload at the boundary instead of silently\n--! degrading it to a NULL index term in `jsonb_array_to_ore_block_256`. The\n--! previous `val ->> 'ob' IS NOT NULL` form stringified scalars/objects and so\n--! reported them as present. `{}` (absent `ob`) and `{\"ob\": null}` (JSON null)\n--! both remain `false`.\nCREATE FUNCTION eql_v3_internal.has_ore_block_256(val jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n RETURN COALESCE(jsonb_typeof(val -> 'ob') = 'array', false);\n END;\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Compare two ORE block terms using cryptographic comparison\n--! @internal\n--! @param a eql_v3_internal.ore_block_256_term First ORE term\n--! @param b eql_v3_internal.ore_block_256_term Second ORE term\n--! @return integer -1 if a < b, 0 if a = b, 1 if a > b\n--! @throws Exception if ciphertexts are different lengths\n--! @note Marked `IMMUTABLE` (the three `compare_ore_block_256_term(s)`\n--! overloads all are). This deliberately diverges from the v2 originals,\n--! which carry no volatility marker and so default to `VOLATILE`. The\n--! comparison is deterministic — its only crypto call, pgcrypto `encrypt()`,\n--! is itself `IMMUTABLE STRICT PARALLEL SAFE` — so `IMMUTABLE` lets the\n--! planner fold/cache these in ordering and index contexts. NOT `STRICT`:\n--! the NULL-handling branches below are load-bearing for the array overload.\nCREATE FUNCTION eql_v3_internal.compare_ore_block_256_term(a eql_v3_internal.ore_block_256_term, b eql_v3_internal.ore_block_256_term)\n RETURNS integer\n IMMUTABLE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n eq boolean := true;\n unequal_block smallint := 0;\n hash_key bytea;\n data_block bytea;\n encrypt_block bytea;\n target_block bytea;\n\n left_block_size CONSTANT smallint := 16;\n right_block_size CONSTANT smallint := 32;\n\n -- Block count N is DERIVED from the ciphertext length, not hardcoded to 8.\n -- Wire format per term:\n -- [ N PRP bytes ][ N*16B left blocks ][ 16B hash key ][ N*32B right blocks ]\n -- octet_length = 17*N + 16 + 32*N = 49*N + 16 => N = (octet_length - 16) / 49\n -- This serves integer (N=8, 408B), timestamp (N=12, 604B), and numeric\n -- (N=14, 702B) with one comparator.\n n integer;\n left_offset integer; -- ordinal offset of the first left block (1 + N PRP bytes)\n right_offset integer; -- ordinal start of the right CT (= total left CT length = 17*N)\n\n indicator smallint := 0;\n BEGIN\n IF a IS NULL AND b IS NULL THEN\n RETURN 0;\n END IF;\n\n IF a IS NULL THEN\n RETURN -1;\n END IF;\n\n IF b IS NULL THEN\n RETURN 1;\n END IF;\n\n IF bit_length(a.bytes) != bit_length(b.bytes) THEN\n RAISE EXCEPTION 'Ciphertexts are different lengths';\n END IF;\n\n -- Well-formedness: length must be exactly 49*N + 16 for some N >= 1. The\n -- modulo alone is insufficient -- a 16-byte term passes (16 - 16) % 49 = 0\n -- and derives N = 0, which would fall through to the all-blocks-equal path\n -- and return 0 instead of raising. The `<= 16` clause is load-bearing.\n IF octet_length(a.bytes) <= 16 OR (octet_length(a.bytes) - 16) % 49 != 0 THEN\n RAISE EXCEPTION 'Malformed ORE term: % bytes', octet_length(a.bytes);\n END IF;\n\n n := (octet_length(a.bytes) - 16) / 49;\n left_offset := 1 + n; -- left blocks begin right after the N PRP bytes\n right_offset := 17 * n; -- right CT begins right after the 17*N-byte left CT\n\n FOR block IN 0..n-1 LOOP\n -- Compare each PRP byte (the first N bytes) and its 16-byte left block.\n IF\n substr(a.bytes, 1 + block, 1) != substr(b.bytes, 1 + block, 1)\n OR substr(a.bytes, left_offset + left_block_size * block, left_block_size) != substr(b.bytes, left_offset + left_block_size * block, left_block_size)\n THEN\n IF eq THEN\n unequal_block := block;\n END IF;\n eq = false;\n END IF;\n END LOOP;\n\n IF eq THEN\n RETURN 0::integer;\n END IF;\n\n -- Hash key is the IV from the right CT of b.\n hash_key := substr(b.bytes, right_offset + 1, 16);\n\n -- First right block is at right_offset + nonce_size (ordinally indexed).\n target_block := substr(b.bytes, right_offset + 17 + (unequal_block * right_block_size), right_block_size);\n\n data_block := substr(a.bytes, left_offset + (left_block_size * unequal_block), left_block_size);\n\n encrypt_block := encrypt(data_block::bytea, hash_key::bytea, 'aes-ecb');\n\n indicator := (\n get_bit(\n encrypt_block,\n 0\n ) + get_bit(target_block, get_byte(a.bytes, unequal_block))) % 2;\n\n IF indicator = 1 THEN\n RETURN 1::integer;\n ELSE\n RETURN -1::integer;\n END IF;\n END;\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Compare arrays of ORE block terms recursively\n--! @internal\n--! @param a eql_v3_internal.ore_block_256_term[] First array\n--! @param b eql_v3_internal.ore_block_256_term[] Second array\n--! @return integer -1/0/1, or NULL if either array is NULL\nCREATE FUNCTION eql_v3_internal.compare_ore_block_256_terms(a eql_v3_internal.ore_block_256_term[], b eql_v3_internal.ore_block_256_term[])\nRETURNS integer\n IMMUTABLE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n cmp_result integer;\n BEGIN\n IF a IS NULL OR b IS NULL THEN\n RETURN NULL;\n END IF;\n\n IF cardinality(a) = 0 AND cardinality(b) = 0 THEN\n RETURN 0;\n END IF;\n\n IF (cardinality(a) = 0) AND cardinality(b) > 0 THEN\n RETURN -1;\n END IF;\n\n IF cardinality(a) > 0 AND (cardinality(b) = 0) THEN\n RETURN 1;\n END IF;\n\n cmp_result := eql_v3_internal.compare_ore_block_256_term(a[1], b[1]);\n\n IF cmp_result = 0 THEN\n RETURN eql_v3_internal.compare_ore_block_256_terms(a[2:array_length(a,1)], b[2:array_length(b,1)]);\n END IF;\n\n RETURN cmp_result;\n END\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Compare ORE block composite types\n--! @internal\n--! @param a eql_v3_internal.ore_block_256 First ORE block\n--! @param b eql_v3_internal.ore_block_256 Second ORE block\n--! @return integer -1/0/1\nCREATE FUNCTION eql_v3_internal.compare_ore_block_256_terms(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS integer\n IMMUTABLE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n RETURN eql_v3_internal.compare_ore_block_256_terms(a.terms, b.terms);\n END\n$$ LANGUAGE plpgsql;\n\n--! @file v3/sem/ope_cllw/types.sql\n--! @brief CLLW OPE index term type for scalar range queries (eql_v3 SEM)\n--!\n--! Domain type representing a CLLW (Copyless Logarithmic Width)\n--! Order-Preserving Encryption term. The ciphertext is stored hex-encoded in\n--! the `op` field of encrypted scalar payloads (the `_ord_ope` domains); the\n--! domain carries the hex-decoded bytes.\n--!\n--! A DOMAIN over bytea, not a composite: the OPE ciphertext is\n--! order-preserving under plain byte comparison, so the domain inherits\n--! bytea's native comparison operators and DEFAULT btree operator class\n--! outright — no hand-written operators, comparator, or operator class (the\n--! same pattern as eql_v3_internal.hmac_256 over text). That keeps the whole\n--! comparison chain inlinable, so a functional btree index on\n--! `eql_v3.ord_term(col)` engages structurally for the `_ord` / `_ord_ope`\n--! domains' comparison operators. Contrast eql_v3_internal.ore_cllw (`oc`), the SteVec\n--! CLLW-*ORE* composite compared by a custom per-byte protocol.\n--!\n--! @note Transient type used only during query execution.\n--! @see eql_v3_internal.ope_cllw\nCREATE DOMAIN eql_v3_internal.ope_cllw AS bytea;\n\n--! @file v3/sem/hmac_256/types.sql\n--! @brief HMAC-SHA256 index term type (eql_v3 SEM)\n--!\n--! Domain type representing HMAC-SHA256 hash values. Used for exact-match\n--! encrypted searches. The hash is stored in the 'hm' field of encrypted data\n--! payloads. Self-contained eql_v3 copy (design D1/D3); the eql_v2 original is\n--! unchanged.\n--!\n--! @note Transient type used only during query execution.\nCREATE DOMAIN eql_v3_internal.hmac_256 AS text;\n\n--! @file v3/sem/bloom_filter/types.sql\n--! @brief Self-contained eql_v3 Bloom-filter SEM index-term type.\n\n--! @brief Bloom-filter index term: a bit array stored as smallint[].\n--!\n--! Backs the `match` capability (`@>` / `<@`) on `eql_v3_internal.text_match`. The\n--! filter is read from the `bf` field of an encrypted jsonb payload. Native\n--! `smallint[]` array-containment (`@>`/`<@`) is inherited through the domain,\n--! so this type needs no custom operators.\n--!\n--! @note Self-contained: references no eql_v2 symbol.\nCREATE DOMAIN eql_v3_internal.bloom_filter AS smallint[];\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/timestamp/timestamp_types.sql\n--! @brief Encrypted-domain types for timestamp.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_timestamp.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp IS 'EQL encrypted timestamp (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_eq IS 'EQL encrypted timestamp (equality)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_ord_ore IS 'EQL encrypted timestamp (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_ord IS 'EQL encrypted timestamp (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_ord_ope IS 'EQL encrypted timestamp (equality, ordering)';\nEND\n$$;\n\n--! @file v3/scalars/functions.sql\n--! @brief Shared blocker helper for the eql_v3 encrypted-domain families.\n--!\n--! Per-domain wrapper functions live in src/v3/scalars//.\n--! Blockers in those files delegate to encrypted_domain_unsupported_bool\n--! so every domain raises a uniform domain-specific error rather than\n--! letting an unsupported operator fall through to native jsonb\n--! behaviour.\n\n--! @brief Shared blocker helper. Raises 'operator X is not supported\n--! for TYPE' so unsupported domain operators surface a clear\n--! error rather than fall through to native jsonb behaviour.\n--! @param type_name Domain type name (eql_v3.*)\n--! @param operator_name Operator symbol (=, <, @>, ->, etc.)\n--! @return boolean (never returns; always raises)\nCREATE FUNCTION eql_v3_internal.encrypted_domain_unsupported_bool(type_name text, operator_name text)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RAISE EXCEPTION 'operator % is not supported for %', operator_name, type_name;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Shared blocker helper returning jsonb. Identical to\n--! encrypted_domain_unsupported_bool but typed for blockers shadowing\n--! native operators whose result is jsonb (#>, -, #-, ||), so composed\n--! expressions resolve and the body raises rather than failing earlier\n--! with a misleading 'operator does not exist' on a boolean result.\n--! @param type_name Domain type name (eql_v3.*)\n--! @param operator_name Operator symbol (#>, -, #-, ||, etc.)\n--! @return jsonb (never returns; always raises)\nCREATE FUNCTION eql_v3_internal.encrypted_domain_unsupported_jsonb(type_name text, operator_name text)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RAISE EXCEPTION 'operator % is not supported for %', operator_name, type_name;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Shared blocker helper returning text. Identical to\n--! encrypted_domain_unsupported_bool but typed for blockers shadowing\n--! the native #>> operator whose result is text.\n--! @param type_name Domain type name (eql_v3.*)\n--! @param operator_name Operator symbol (#>>)\n--! @return text (never returns; always raises)\nCREATE FUNCTION eql_v3_internal.encrypted_domain_unsupported_text(type_name text, operator_name text)\nRETURNS text\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RAISE EXCEPTION 'operator % is not supported for %', operator_name, type_name;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @file v3/sem/ore_block_256/operators.sql\n--! @brief Comparison operators on eql_v3_internal.ore_block_256.\n--!\n--! The six backing functions are inlinable single-statement SQL so the planner\n--! can fold the eql_v3 comparison wrappers through to functional-index matching.\n\n--! @brief Equality backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the ORE blocks are equal\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_eq(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) = 0\n$$;\n\n--! @brief Not-equal backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the ORE blocks are not equal\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_neq(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) <> 0\n$$;\n\n--! @brief Less-than backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is less than the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_lt(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) = -1\n$$;\n\n--! @brief Less-than-or-equal backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is less than or equal to the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_lte(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) != 1\n$$;\n\n--! @brief Greater-than backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is greater than the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_gt(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) = 1\n$$;\n\n--! @brief Greater-than-or-equal backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is greater than or equal to the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_gte(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) != -1\n$$;\n\n\n--! @brief = operator for ORE block types\n--!\n--! COMMUTATOR is the operator itself: equality is symmetric. Required for the\n--! MERGES flag — without it the planner raises \"could not find commutator\" the\n--! first time an ore_block equality is used as a join qual (e.g. via the inlined\n--! eql_v3_internal._ord_ore equality wrappers).\nCREATE OPERATOR public.= (\n FUNCTION=eql_v3_internal.ore_block_256_eq,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.=),\n NEGATOR = OPERATOR(public.<>),\n RESTRICT = eqsel,\n JOIN = eqjoinsel,\n HASHES,\n MERGES\n);\n\n--! @brief <> operator for ORE block types\nCREATE OPERATOR public.<> (\n FUNCTION=eql_v3_internal.ore_block_256_neq,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.<>),\n NEGATOR = OPERATOR(public.=),\n RESTRICT = neqsel,\n JOIN = neqjoinsel,\n MERGES\n);\n\n--! @brief > operator for ORE block types\nCREATE OPERATOR public.> (\n FUNCTION=eql_v3_internal.ore_block_256_gt,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.<),\n NEGATOR = OPERATOR(public.<=),\n RESTRICT = scalargtsel,\n JOIN = scalargtjoinsel\n);\n\n--! @brief < operator for ORE block types\nCREATE OPERATOR public.< (\n FUNCTION=eql_v3_internal.ore_block_256_lt,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.>),\n NEGATOR = OPERATOR(public.>=),\n RESTRICT = scalarltsel,\n JOIN = scalarltjoinsel\n);\n\n--! @brief <= operator for ORE block types\nCREATE OPERATOR public.<= (\n FUNCTION=eql_v3_internal.ore_block_256_lte,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.>=),\n NEGATOR = OPERATOR(public.>),\n RESTRICT = scalarlesel,\n JOIN = scalarlejoinsel\n);\n\n--! @brief >= operator for ORE block types\nCREATE OPERATOR public.>= (\n FUNCTION=eql_v3_internal.ore_block_256_gte,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.<=),\n NEGATOR = OPERATOR(public.<),\n RESTRICT = scalargesel,\n JOIN = scalargejoinsel\n);\n\n--! @file v3/sem/ope_cllw/functions.sql\n--! @brief CLLW OPE index-term extraction from a jsonb payload (eql_v3 SEM).\n\n--! @brief Extract CLLW OPE index term from JSONB payload\n--!\n--! Returns the CLLW OPE ciphertext from the `op` field of an encrypted scalar\n--! payload, hex-decoded to the bytea-backed eql_v3_internal.ope_cllw domain.\n--!\n--! Inlinable single-statement SQL — the body is a strict expression of the\n--! argument (`->>` and `decode` are both STRICT), so the planner folds this\n--! into the calling query and functional btree indexes built on\n--! `eql_v3.ord_term(col)` (which calls this) engage structurally, the\n--! same way the hmac_256 equality chain does.\n--!\n--! **Missing-`op` semantics**: `val ->> 'op'` is NULL when `op` is absent and\n--! the strict chain propagates it, so the extractor returns SQL NULL and\n--! btree's NULL handling filters those rows from range queries.\n--!\n--! @param val jsonb containing encrypted EQL payload\n--! @return eql_v3_internal.ope_cllw Hex-decoded CLLW OPE term, or NULL when `op` is\n--! absent\nCREATE FUNCTION eql_v3_internal.ope_cllw(val jsonb)\n RETURNS eql_v3_internal.ope_cllw\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT decode(val ->> 'op', 'hex')::eql_v3_internal.ope_cllw\n$$;\n\nCOMMENT ON FUNCTION eql_v3_internal.ope_cllw(jsonb) IS\n 'eql-inline-critical: raw-jsonb CLLW OPE extractor; must stay inlinable (unpinned search_path)';\n\n--! @file v3/sem/hmac_256/functions.sql\n--! @brief HMAC-SHA256 index-term extraction from a jsonb payload (eql_v3 SEM).\n--!\n--! jsonb-only subset of src/hmac_256/functions.sql. The encrypted-column and\n--! ste_vec-entry overloads are intentionally omitted — the eql_v3 scalar\n--! domains extract from the jsonb payload directly via a cast to the domain.\n--! (Doc comments deliberately avoid naming eql_v2 symbols so the\n--! self-containment grep stays clean.)\n\n--! @brief Extract HMAC-SHA256 index term from JSONB payload\n--!\n--! Inlinable single-statement SQL — the planner can fold this into the calling\n--! query so functional hash/btree indexes built on `eql_v3_internal.eq_term(col)`\n--! (which calls this) engage structurally.\n--!\n--! @param val jsonb containing encrypted EQL payload\n--! @return eql_v3_internal.hmac_256 HMAC-SHA256 hash value, or NULL when `hm` is absent\nCREATE FUNCTION eql_v3_internal.hmac_256(val jsonb)\n RETURNS eql_v3_internal.hmac_256\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (val ->> 'hm')::eql_v3_internal.hmac_256\n$$;\n\n\n--! @brief Check if JSONB payload contains HMAC-SHA256 index term\n--!\n--! @param val jsonb containing encrypted EQL payload\n--! @return boolean True if 'hm' field is present and non-null\nCREATE FUNCTION eql_v3_internal.has_hmac_256(val jsonb)\n RETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (val ->> 'hm') IS NOT NULL\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/text/text_types.sql\n--! @brief Encrypted-domain types for text.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_text.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text IS 'EQL encrypted text (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_text_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_eq IS 'EQL encrypted text (equality)';\n\n --! @brief Encrypted domain public.eql_v3_text_match.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_match' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_match AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'bf'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_match IS 'EQL encrypted text (containment)';\n\n --! @brief Encrypted domain public.eql_v3_text_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_ord_ore IS 'EQL encrypted text (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_text_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_ord IS 'EQL encrypted text (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_text_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_ord_ope IS 'EQL encrypted text (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_text_search_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_search_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_search_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND VALUE ? 'bf'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_search_ore IS 'EQL encrypted text (equality, ordering, containment)';\n\n --! @brief Encrypted domain public.eql_v3_text_search.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_search' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_search AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE ? 'bf'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_search IS 'EQL encrypted text (equality, ordering, containment)';\nEND\n$$;\n\n--! @file v3/sem/bloom_filter/functions.sql\n--! @brief Extractor for the eql_v3 Bloom-filter SEM index term.\n--!\n--! jsonb-only subset of src/bloom_filter/functions.sql. The encrypted-column\n--! overloads are intentionally omitted — the eql_v3 scalar domains extract from\n--! the jsonb payload directly via a cast to the domain. (Doc comments\n--! deliberately avoid naming eql_v2 symbols so the self-containment grep stays\n--! clean.)\n\n--! @brief Test whether a jsonb payload carries a Bloom-filter (`bf`) term.\n--!\n--! @param val jsonb The encrypted payload.\n--! @return boolean True when the `bf` key is present and non-null.\n--!\n--! @internal Defined for parity with the eql_v3 SEM index-term predicates\n--! (`has_hmac_256` / `has_ore_block_256`); it is not currently called by\n--! the extractor below, which gates on value-shape inline, nor by the generated\n--! domain CHECK, which tests `bf` presence via the envelope-key skeleton. Kept\n--! as the canonical presence test for callers that need one.\nCREATE FUNCTION eql_v3_internal.has_bloom_filter(val jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n RETURN val ? 'bf' AND val ->> 'bf' IS NOT NULL;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract the Bloom-filter index term from a jsonb payload.\n--!\n--! Inlinable single-statement SQL — the planner can fold this into the calling\n--! query so the functional GIN index built on `eql_v3_internal.match_term(col)` (which\n--! calls this) engages structurally. Mirrors `eql_v3_internal.hmac_256(jsonb)`: no RAISE\n--! and no pinned `search_path`. Returns NULL when `bf` is absent or present but\n--! not a json array, rather than raising. The `text_match` domain CHECK\n--! guarantees the `bf` *key* is present but not that it is an array, so a\n--! non-array `bf` (e.g. `{\"bf\": null}`) can reach here even on a typed value;\n--! gating on `jsonb_typeof(...) = 'array'` returns NULL for that case — and for\n--! raw jsonb outside the domain — instead of erroring inside\n--! `jsonb_array_elements`. NULL, like the HMAC extractor, is the right answer. An\n--! empty `bf` array yields an empty filter (contains nothing, contained by\n--! everything), matching set-containment semantics.\n--!\n--! @param val jsonb The encrypted payload.\n--! @return eql_v3_internal.bloom_filter The `bf` array as a smallint[] domain value, or\n--! NULL when `bf` is absent or not a json array.\nCREATE FUNCTION eql_v3_internal.bloom_filter(val jsonb)\n RETURNS eql_v3_internal.bloom_filter\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT CASE WHEN jsonb_typeof(val -> 'bf') = 'array'\n THEN ARRAY(SELECT jsonb_array_elements(val -> 'bf'))::eql_v3_internal.bloom_filter\n END\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/smallint/smallint_types.sql\n--! @brief Encrypted-domain types for smallint.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_smallint.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint IS 'EQL encrypted smallint (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_eq IS 'EQL encrypted smallint (equality)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_ord_ore IS 'EQL encrypted smallint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_ord IS 'EQL encrypted smallint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_ord_ope IS 'EQL encrypted smallint (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/real/real_types.sql\n--! @brief Encrypted-domain types for real.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_real.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real IS 'EQL encrypted real (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_real_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_eq IS 'EQL encrypted real (equality)';\n\n --! @brief Encrypted domain public.eql_v3_real_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_ord_ore IS 'EQL encrypted real (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_real_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_ord IS 'EQL encrypted real (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_real_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_ord_ope IS 'EQL encrypted real (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/numeric/numeric_types.sql\n--! @brief Encrypted-domain types for numeric.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_numeric.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric IS 'EQL encrypted numeric (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_eq IS 'EQL encrypted numeric (equality)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_ord_ore IS 'EQL encrypted numeric (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_ord IS 'EQL encrypted numeric (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_ord_ope IS 'EQL encrypted numeric (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/integer/integer_types.sql\n--! @brief Encrypted-domain types for integer.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_integer.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer IS 'EQL encrypted integer (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_integer_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_eq IS 'EQL encrypted integer (equality)';\n\n --! @brief Encrypted domain public.eql_v3_integer_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_ord_ore IS 'EQL encrypted integer (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_integer_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_ord IS 'EQL encrypted integer (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_integer_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_ord_ope IS 'EQL encrypted integer (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/double/double_types.sql\n--! @brief Encrypted-domain types for double.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_double.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double IS 'EQL encrypted double (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_double_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_eq IS 'EQL encrypted double (equality)';\n\n --! @brief Encrypted domain public.eql_v3_double_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_ord_ore IS 'EQL encrypted double (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_double_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_ord IS 'EQL encrypted double (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_double_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_ord_ope IS 'EQL encrypted double (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/date/date_types.sql\n--! @brief Encrypted-domain types for date.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_date.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date IS 'EQL encrypted date (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_date_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_eq IS 'EQL encrypted date (equality)';\n\n --! @brief Encrypted domain public.eql_v3_date_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_ord_ore IS 'EQL encrypted date (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_date_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_ord IS 'EQL encrypted date (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_date_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_ord_ope IS 'EQL encrypted date (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/bigint/bigint_types.sql\n--! @brief Encrypted-domain types for bigint.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_bigint.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint IS 'EQL encrypted bigint (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_eq IS 'EQL encrypted bigint (equality)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_ord_ore IS 'EQL encrypted bigint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_ord IS 'EQL encrypted bigint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_ord_ope IS 'EQL encrypted bigint (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_timestamp_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param selector text\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ore, selector text)\nRETURNS public.eql_v3_timestamp_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ore, selector integer)\nRETURNS public.eql_v3_timestamp_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_ord_ore)\nRETURNS public.eql_v3_timestamp_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_timestamp_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param selector text\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ope, selector text)\nRETURNS public.eql_v3_timestamp_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ope, selector integer)\nRETURNS public.eql_v3_timestamp_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_ord_ope)\nRETURNS public.eql_v3_timestamp_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_ord.\n\n--! @brief Index extractor for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_timestamp_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param selector text\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord, selector text)\nRETURNS public.eql_v3_timestamp_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param selector integer\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord, selector integer)\nRETURNS public.eql_v3_timestamp_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_ord)\nRETURNS public.eql_v3_timestamp_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/timestamp/query_timestamp_types.sql\n--! @brief Query-operand domains for timestamp (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_timestamp_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_timestamp_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_eq IS 'EQL timestamp query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_timestamp_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_ord_ore IS 'EQL timestamp query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_timestamp_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_ord IS 'EQL timestamp query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_timestamp_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_ord_ope IS 'EQL timestamp query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_eq_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_eq.\n\n--! @brief Index extractor for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_timestamp_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_timestamp_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_timestamp_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_timestamp_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_timestamp_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param selector text\n--! @return public.eql_v3_timestamp_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_eq, selector text)\nRETURNS public.eql_v3_timestamp_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param selector integer\n--! @return public.eql_v3_timestamp_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_eq, selector integer)\nRETURNS public.eql_v3_timestamp_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_eq\n--! @return public.eql_v3_timestamp_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_eq)\nRETURNS public.eql_v3_timestamp_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_ore_functions.sql\n--! @brief Functions for public.eql_v3_text_search_ore.\n\n--! @brief Index extractor for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_search_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_text_search_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a public.eql_v3_text_search_ore)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search_ore) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search_ore) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search_ore) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search_ore) <@ eql_v3.match_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param selector text\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search_ore, selector text)\nRETURNS public.eql_v3_text_search_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param selector integer\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search_ore, selector integer)\nRETURNS public.eql_v3_text_search_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_search_ore)\nRETURNS public.eql_v3_text_search_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_search_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_search_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_search_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_search_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_search_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_functions.sql\n--! @brief Functions for public.eql_v3_text_search.\n\n--! @brief Index extractor for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_search)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_text_search)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a public.eql_v3_text_search)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search) <@ eql_v3.match_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param selector text\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search, selector text)\nRETURNS public.eql_v3_text_search IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param selector integer\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search, selector integer)\nRETURNS public.eql_v3_text_search IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_search)\nRETURNS public.eql_v3_text_search IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_search\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_search)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_search, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_search, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_search, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_search, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_search, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_search, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_search, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_search, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_search)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_text_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_ord_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_text_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ore) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ore) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param selector text\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ore, selector text)\nRETURNS public.eql_v3_text_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ore, selector integer)\nRETURNS public.eql_v3_text_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_ord_ore)\nRETURNS public.eql_v3_text_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_text_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_ord_ope)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_text_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ope) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ope) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param selector text\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ope, selector text)\nRETURNS public.eql_v3_text_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ope, selector integer)\nRETURNS public.eql_v3_text_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_ord_ope)\nRETURNS public.eql_v3_text_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_functions.sql\n--! @brief Functions for public.eql_v3_text_ord.\n\n--! @brief Index extractor for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_ord)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_text_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param selector text\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord, selector text)\nRETURNS public.eql_v3_text_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param selector integer\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord, selector integer)\nRETURNS public.eql_v3_text_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_ord)\nRETURNS public.eql_v3_text_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/text/query_text_types.sql\n--! @brief Query-operand domains for text (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_text_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_text_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_eq IS 'EQL text query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_text_match (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_match' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_match AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'bf'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_match IS 'EQL text query operand (containment)';\n\n --! @brief Query-operand domain eql_v3.query_text_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_ord_ore IS 'EQL text query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_text_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_ord IS 'EQL text query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_text_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_ord_ope IS 'EQL text query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_text_search_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_search_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_search_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND VALUE ? 'bf'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_search_ore IS 'EQL text query operand (equality, ordering, containment)';\n\n --! @brief Query-operand domain eql_v3.query_text_search (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_search' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_search AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE ? 'bf'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_search IS 'EQL text query operand (equality, ordering, containment)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_match_functions.sql\n--! @brief Functions for public.eql_v3_text_match.\n\n--! @brief Index extractor for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a public.eql_v3_text_match)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::public.eql_v3_text_match) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_match) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::public.eql_v3_text_match) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_match) <@ eql_v3.match_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param selector text\n--! @return public.eql_v3_text_match\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_match, selector text)\nRETURNS public.eql_v3_text_match IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param selector integer\n--! @return public.eql_v3_text_match\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_match, selector integer)\nRETURNS public.eql_v3_text_match IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_match\n--! @return public.eql_v3_text_match\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_match)\nRETURNS public.eql_v3_text_match IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_match, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_match, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_match\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_match)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_match, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_match, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_match, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_match, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_match, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_match, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_match, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_match, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_match, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_match, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_match, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_match, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_match)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_eq_functions.sql\n--! @brief Functions for public.eql_v3_text_eq.\n\n--! @brief Index extractor for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param selector text\n--! @return public.eql_v3_text_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_eq, selector text)\nRETURNS public.eql_v3_text_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param selector integer\n--! @return public.eql_v3_text_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_eq, selector integer)\nRETURNS public.eql_v3_text_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_eq\n--! @return public.eql_v3_text_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_eq)\nRETURNS public.eql_v3_text_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_smallint_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_smallint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param selector text\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ore, selector text)\nRETURNS public.eql_v3_smallint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ore, selector integer)\nRETURNS public.eql_v3_smallint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_ord_ore)\nRETURNS public.eql_v3_smallint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_smallint_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_smallint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param selector text\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ope, selector text)\nRETURNS public.eql_v3_smallint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ope, selector integer)\nRETURNS public.eql_v3_smallint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_ord_ope)\nRETURNS public.eql_v3_smallint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_functions.sql\n--! @brief Functions for public.eql_v3_smallint_ord.\n\n--! @brief Index extractor for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_smallint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param selector text\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord, selector text)\nRETURNS public.eql_v3_smallint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param selector integer\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord, selector integer)\nRETURNS public.eql_v3_smallint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_ord)\nRETURNS public.eql_v3_smallint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/smallint/query_smallint_types.sql\n--! @brief Query-operand domains for smallint (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_smallint_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_smallint_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_eq IS 'EQL smallint query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_smallint_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_ord_ore IS 'EQL smallint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_smallint_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_ord IS 'EQL smallint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_smallint_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_ord_ope IS 'EQL smallint query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_eq_functions.sql\n--! @brief Functions for public.eql_v3_smallint_eq.\n\n--! @brief Index extractor for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_smallint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_smallint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_smallint_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_smallint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_smallint_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param selector text\n--! @return public.eql_v3_smallint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_eq, selector text)\nRETURNS public.eql_v3_smallint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param selector integer\n--! @return public.eql_v3_smallint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_eq, selector integer)\nRETURNS public.eql_v3_smallint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_eq\n--! @return public.eql_v3_smallint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_eq)\nRETURNS public.eql_v3_smallint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_real_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_real_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param selector text\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ore, selector text)\nRETURNS public.eql_v3_real_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ore, selector integer)\nRETURNS public.eql_v3_real_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_ord_ore)\nRETURNS public.eql_v3_real_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_real_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_real_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param selector text\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ope, selector text)\nRETURNS public.eql_v3_real_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ope, selector integer)\nRETURNS public.eql_v3_real_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_ord_ope)\nRETURNS public.eql_v3_real_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_functions.sql\n--! @brief Functions for public.eql_v3_real_ord.\n\n--! @brief Index extractor for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_real_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param selector text\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord, selector text)\nRETURNS public.eql_v3_real_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param selector integer\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord, selector integer)\nRETURNS public.eql_v3_real_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_ord)\nRETURNS public.eql_v3_real_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/real/query_real_types.sql\n--! @brief Query-operand domains for real (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_real_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_real_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_eq IS 'EQL real query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_real_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_ord_ore IS 'EQL real query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_real_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_ord IS 'EQL real query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_real_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_ord_ope IS 'EQL real query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_eq_functions.sql\n--! @brief Functions for public.eql_v3_real_eq.\n\n--! @brief Index extractor for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_real_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_real_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_real_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_real_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_real_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param selector text\n--! @return public.eql_v3_real_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_eq, selector text)\nRETURNS public.eql_v3_real_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param selector integer\n--! @return public.eql_v3_real_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_eq, selector integer)\nRETURNS public.eql_v3_real_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_eq\n--! @return public.eql_v3_real_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_eq)\nRETURNS public.eql_v3_real_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/numeric/query_numeric_types.sql\n--! @brief Query-operand domains for numeric (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_numeric_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_numeric_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_eq IS 'EQL numeric query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_numeric_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_ord_ore IS 'EQL numeric query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_numeric_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_ord IS 'EQL numeric query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_numeric_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_ord_ope IS 'EQL numeric query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_numeric_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_numeric_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param selector text\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ore, selector text)\nRETURNS public.eql_v3_numeric_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ore, selector integer)\nRETURNS public.eql_v3_numeric_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_ord_ore)\nRETURNS public.eql_v3_numeric_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_functions.sql\n--! @brief Functions for public.eql_v3_numeric_ord.\n\n--! @brief Index extractor for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_numeric_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param selector text\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord, selector text)\nRETURNS public.eql_v3_numeric_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param selector integer\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord, selector integer)\nRETURNS public.eql_v3_numeric_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_ord)\nRETURNS public.eql_v3_numeric_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_numeric_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_numeric_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param selector text\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ope, selector text)\nRETURNS public.eql_v3_numeric_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ope, selector integer)\nRETURNS public.eql_v3_numeric_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_ord_ope)\nRETURNS public.eql_v3_numeric_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_eq_functions.sql\n--! @brief Functions for public.eql_v3_numeric_eq.\n\n--! @brief Index extractor for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_numeric_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_numeric_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_numeric_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_numeric_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_numeric_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param selector text\n--! @return public.eql_v3_numeric_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_eq, selector text)\nRETURNS public.eql_v3_numeric_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param selector integer\n--! @return public.eql_v3_numeric_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_eq, selector integer)\nRETURNS public.eql_v3_numeric_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_eq\n--! @return public.eql_v3_numeric_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_eq)\nRETURNS public.eql_v3_numeric_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/integer/query_integer_types.sql\n--! @brief Query-operand domains for integer (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_integer_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_integer_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_eq IS 'EQL integer query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_integer_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_ord_ore IS 'EQL integer query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_integer_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_ord IS 'EQL integer query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_integer_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_ord_ope IS 'EQL integer query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_integer_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_integer_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param selector text\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ore, selector text)\nRETURNS public.eql_v3_integer_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ore, selector integer)\nRETURNS public.eql_v3_integer_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_ord_ore)\nRETURNS public.eql_v3_integer_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_functions.sql\n--! @brief Functions for public.eql_v3_integer_ord.\n\n--! @brief Index extractor for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_integer_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param selector text\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord, selector text)\nRETURNS public.eql_v3_integer_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param selector integer\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord, selector integer)\nRETURNS public.eql_v3_integer_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_ord)\nRETURNS public.eql_v3_integer_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_integer_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_integer_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param selector text\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ope, selector text)\nRETURNS public.eql_v3_integer_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ope, selector integer)\nRETURNS public.eql_v3_integer_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_ord_ope)\nRETURNS public.eql_v3_integer_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_eq_functions.sql\n--! @brief Functions for public.eql_v3_integer_eq.\n\n--! @brief Index extractor for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_integer_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_integer_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_integer_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_integer_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_integer_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param selector text\n--! @return public.eql_v3_integer_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_eq, selector text)\nRETURNS public.eql_v3_integer_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param selector integer\n--! @return public.eql_v3_integer_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_eq, selector integer)\nRETURNS public.eql_v3_integer_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_eq\n--! @return public.eql_v3_integer_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_eq)\nRETURNS public.eql_v3_integer_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/double/query_double_types.sql\n--! @brief Query-operand domains for double (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_double_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_double_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_eq IS 'EQL double query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_double_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_ord_ore IS 'EQL double query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_double_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_ord IS 'EQL double query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_double_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_ord_ope IS 'EQL double query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_double_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_double_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param selector text\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ore, selector text)\nRETURNS public.eql_v3_double_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ore, selector integer)\nRETURNS public.eql_v3_double_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_ord_ore)\nRETURNS public.eql_v3_double_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_functions.sql\n--! @brief Functions for public.eql_v3_double_ord.\n\n--! @brief Index extractor for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_double_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param selector text\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord, selector text)\nRETURNS public.eql_v3_double_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param selector integer\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord, selector integer)\nRETURNS public.eql_v3_double_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_ord)\nRETURNS public.eql_v3_double_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_double_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_double_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param selector text\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ope, selector text)\nRETURNS public.eql_v3_double_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ope, selector integer)\nRETURNS public.eql_v3_double_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_ord_ope)\nRETURNS public.eql_v3_double_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_eq_functions.sql\n--! @brief Functions for public.eql_v3_double_eq.\n\n--! @brief Index extractor for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_double_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_double_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_double_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_double_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_double_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param selector text\n--! @return public.eql_v3_double_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_eq, selector text)\nRETURNS public.eql_v3_double_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param selector integer\n--! @return public.eql_v3_double_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_eq, selector integer)\nRETURNS public.eql_v3_double_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_eq\n--! @return public.eql_v3_double_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_eq)\nRETURNS public.eql_v3_double_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/date/query_date_types.sql\n--! @brief Query-operand domains for date (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_date_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_date_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_eq IS 'EQL date query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_date_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_ord_ore IS 'EQL date query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_date_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_ord IS 'EQL date query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_date_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_ord_ope IS 'EQL date query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_date_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_date_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param selector text\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ore, selector text)\nRETURNS public.eql_v3_date_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ore, selector integer)\nRETURNS public.eql_v3_date_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_ord_ore)\nRETURNS public.eql_v3_date_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_functions.sql\n--! @brief Functions for public.eql_v3_date_ord.\n\n--! @brief Index extractor for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_date_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param selector text\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord, selector text)\nRETURNS public.eql_v3_date_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param selector integer\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord, selector integer)\nRETURNS public.eql_v3_date_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_ord)\nRETURNS public.eql_v3_date_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_date_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_date_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param selector text\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ope, selector text)\nRETURNS public.eql_v3_date_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ope, selector integer)\nRETURNS public.eql_v3_date_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_ord_ope)\nRETURNS public.eql_v3_date_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_eq_functions.sql\n--! @brief Functions for public.eql_v3_date_eq.\n\n--! @brief Index extractor for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_date_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_date_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_date_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_date_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_date_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param selector text\n--! @return public.eql_v3_date_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_eq, selector text)\nRETURNS public.eql_v3_date_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param selector integer\n--! @return public.eql_v3_date_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_eq, selector integer)\nRETURNS public.eql_v3_date_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_eq\n--! @return public.eql_v3_date_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_eq)\nRETURNS public.eql_v3_date_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/boolean/boolean_types.sql\n--! @brief Encrypted-domain types for boolean.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_boolean.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_boolean' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_boolean AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_boolean IS 'EQL encrypted boolean (storage only)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/bigint/query_bigint_types.sql\n--! @brief Query-operand domains for bigint (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_bigint_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_bigint_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_eq IS 'EQL bigint query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_bigint_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_ord_ore IS 'EQL bigint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_bigint_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_ord IS 'EQL bigint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_bigint_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_ord_ope IS 'EQL bigint query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_bigint_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_bigint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param selector text\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ore, selector text)\nRETURNS public.eql_v3_bigint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ore, selector integer)\nRETURNS public.eql_v3_bigint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_ord_ore)\nRETURNS public.eql_v3_bigint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_functions.sql\n--! @brief Functions for public.eql_v3_bigint_ord.\n\n--! @brief Index extractor for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_bigint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param selector text\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord, selector text)\nRETURNS public.eql_v3_bigint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param selector integer\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord, selector integer)\nRETURNS public.eql_v3_bigint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_ord)\nRETURNS public.eql_v3_bigint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_bigint_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_bigint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param selector text\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ope, selector text)\nRETURNS public.eql_v3_bigint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ope, selector integer)\nRETURNS public.eql_v3_bigint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_ord_ope)\nRETURNS public.eql_v3_bigint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_eq_functions.sql\n--! @brief Functions for public.eql_v3_bigint_eq.\n\n--! @brief Index extractor for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_bigint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_bigint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_bigint_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_bigint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_bigint_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param selector text\n--! @return public.eql_v3_bigint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_eq, selector text)\nRETURNS public.eql_v3_bigint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param selector integer\n--! @return public.eql_v3_bigint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_eq, selector integer)\nRETURNS public.eql_v3_bigint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_eq\n--! @return public.eql_v3_bigint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_eq)\nRETURNS public.eql_v3_bigint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @file v3/jsonb/types.sql\n--! @brief Domain types for the eql_v3 encrypted-JSONB (SteVec) surface.\n--!\n--! Three jsonb-backed domains (none over another domain — operators resolve\n--! against the ultimate base type jsonb, so the native-jsonb firewall in\n--! blockers.sql can attach):\n--! - public.eql_v3_json — storage/root: an EQL envelope object ({i, v, ...}).\n--! - public.eql_v3_jsonb_entry — a single sv element (returned by `->`).\n--! - eql_v3.query_jsonb — a containment needle (sv elements, no ciphertext).\n\n--! @brief Validate a single SteVec entry payload.\n--! @internal\n--! @param val jsonb Candidate entry payload.\n--! @return boolean True when `val` is an sv entry with string `s`, string `c`,\n--! and exactly one string deterministic term (`hm` XOR `op`).\nCREATE OR REPLACE FUNCTION public.eql_v3_is_valid_ste_vec_entry_payload(val jsonb)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT COALESCE(\n jsonb_typeof(val) = 'object'\n AND jsonb_typeof(val -> 's') = 'string'\n AND jsonb_typeof(val -> 'c') = 'string'\n AND (\n (jsonb_typeof(val -> 'hm') = 'string' AND NOT (val ? 'op'))\n OR\n (jsonb_typeof(val -> 'op') = 'string' AND NOT (val ? 'hm'))\n ),\n false\n )\n$$;\n\n--! @brief Validate a SteVec containment query payload.\n--! @internal\n--! @param val jsonb Candidate query payload.\n--! @return boolean True when `val` is `{\"sv\":[...]}` and every element carries\n--! string `s`, no ciphertext, and exactly one string term (`hm` XOR\n--! `op`).\n--! @note plpgsql, not LANGUAGE sql (issues #353/#354): the only caller is the\n--! eql_v3.query_jsonb domain CHECK, where a SQL function can never be\n--! inlined (and the CHECK itself cannot absorb this body — it needs a\n--! subquery over the sv elements, which CHECK constraints forbid). plpgsql\n--! caches its plan across calls instead of paying the per-call SQL-function\n--! executor on every needle cast.\nCREATE OR REPLACE FUNCTION public.eql_v3_is_valid_ste_vec_query_payload(val jsonb)\n RETURNS boolean\n LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\nBEGIN\n RETURN COALESCE(\n jsonb_typeof(val) = 'object'\n AND jsonb_typeof(val -> 'sv') = 'array'\n AND NOT EXISTS (\n SELECT 1\n FROM jsonb_array_elements(\n CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END\n ) AS elem\n WHERE NOT COALESCE((\n jsonb_typeof(elem) = 'object'\n AND jsonb_typeof(elem -> 's') = 'string'\n AND NOT (elem ? 'c')\n AND (\n (jsonb_typeof(elem -> 'hm') = 'string' AND NOT (elem ? 'op'))\n OR\n (jsonb_typeof(elem -> 'op') = 'string' AND NOT (elem ? 'hm'))\n )\n ), false)\n ),\n false\n );\nEND;\n$$;\n\n--! @brief Validate a root SteVec document payload.\n--! @internal\n--! @param val jsonb Candidate document payload.\n--! @return boolean True when `val` is an encrypted document envelope with\n--! `v = 3`, `i`, an `sv` array, and valid sv entry elements.\nCREATE OR REPLACE FUNCTION public.eql_v3_is_valid_ste_vec_document_payload(val jsonb)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT COALESCE(\n jsonb_typeof(val) = 'object'\n AND val ? 'v'\n AND val ->> 'v' = '3'\n AND val ? 'i'\n AND jsonb_typeof(val -> 'sv') = 'array'\n AND NOT EXISTS (\n SELECT 1\n FROM jsonb_array_elements(\n CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END\n ) AS elem\n WHERE NOT public.eql_v3_is_valid_ste_vec_entry_payload(elem)\n ),\n false\n )\n$$;\n\n--! @brief Storage/root domain for an encrypted JSONB column.\n--!\n--! CHECK: a JSON object carrying the EQL envelope (`v = 3` version and `i` index\n--! metadata). Root `c` is intentionally NOT required — an sv-array root payload\n--! is `{i, v, sv}` with no root ciphertext. The CHECK now also requires an `sv`\n--! array, so the domain accepts only SteVec **document** payloads and rejects\n--! encrypted *scalar* payloads (which carry `c`/`hm`/`ob` but no `sv`) — this is\n--! what keeps `public.eql_v3_json` a typed document domain rather than a generic\n--! encrypted envelope. The firewall in blockers.sql attaches to this domain to\n--! stop native jsonb operators from reaching a column value.\n--!\n--! @note Constructing from inline JSON uses the standard DOMAIN cast:\n--! `'{\"i\":{},\"v\":3,\"sv\":[...]}'::public.eql_v3_json`.\nDO $$\nBEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_json' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_json AS jsonb\n CHECK (\n public.eql_v3_is_valid_ste_vec_document_payload(VALUE)\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_json IS 'EQL encrypted JSONB document (containment, equality, ordering)';\nEND\n$$;\n\n--! @brief Domain type for an individual sv element.\n--!\n--! A single element inside an `sv` array: a JSON object that carries a selector\n--! (`s`), a ciphertext (`c`), and **exactly one** of `hm` (HMAC-256, for\n--! hash-equality) or `op` (CLLW OPE, for ordered queries) — they are mutually\n--! exclusive. This is the type returned by `->` and accepted by the per-entry\n--! extractors `eql_v3.eq_term` / `eql_v3.ord_term`. Extra fields (`a`, root\n--! `i`/`v` merged in by `->`) are allowed.\n--!\n--! @see src/v3/jsonb/operators.sql\n--!\n--! @internal\n--! Implementation note (issue #354): the CHECK is an INLINE expression, not a\n--! call to `public.eql_v3_is_valid_ste_vec_entry_payload` — domain\n--! constraints cannot inline SQL functions, so the function-call form paid\n--! the per-call SQL-function executor (~18 µs) on EVERY cast: the needle\n--! cast in every field_eq query (+19% end-to-end vs v2, the entire measured\n--! regression on that scenario; see cipherstash/benches#23). The expression\n--! mirrors the validator body; the leading `VALUE IS NULL OR` preserves the\n--! validator's STRICT NULL-passes semantics (a bare COALESCE(..., false)\n--! would reject NULL, which `->` returns for a missing selector). Keep the\n--! two in sync — `jsonb_entry_check_matches_validator` in tests/sqlx pins\n--! the equivalence.\n--! @endinternal\nDO $$\nBEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_jsonb_entry' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_jsonb_entry AS jsonb\n CHECK (\n VALUE IS NULL\n OR COALESCE(\n jsonb_typeof(VALUE) = 'object'\n AND jsonb_typeof(VALUE -> 's') = 'string'\n AND jsonb_typeof(VALUE -> 'c') = 'string'\n AND (\n (jsonb_typeof(VALUE -> 'hm') = 'string' AND NOT (VALUE ? 'op'))\n OR\n (jsonb_typeof(VALUE -> 'op') = 'string' AND NOT (VALUE ? 'hm'))\n ),\n false\n )\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_jsonb_entry IS 'EQL encrypted JSONB leaf entry (equality, ordering)';\nEND\n$$;\n\n--! @brief Domain type for an STE-vec containment needle.\n--!\n--! A query-shaped payload `{\"sv\":[...]}` whose elements carry selector + index\n--! term but **never** a ciphertext (`c`). Each element must carry `s` and\n--! exactly one deterministic term (`hm` XOR `op`). Typing the needle this way\n--! stops selector-only needles from casting and matching every row via bare\n--! `jsonb @>`.\n--!\n--! @note Construct from inline JSON via the DOMAIN cast:\n--! `'{\"sv\":[{\"s\":\"\",\"hm\":\"\"}]}'::eql_v3.query_jsonb`.\n--! @see eql_v3.to_ste_vec_query\n--!\n--! @internal\n--! Implementation note (issue #354): this CHECK CANNOT be inlined like\n--! public.eql_v3_jsonb_entry's — validating the sv elements requires a subquery\n--! (`NOT EXISTS (SELECT ... FROM jsonb_array_elements(...))`), and CHECK\n--! constraints forbid subqueries. The validator is plpgsql instead (cached\n--! plan; substantially cheaper per call than a non-inlined LANGUAGE sql\n--! function — the same finding as issue #353), since this cast sits on the\n--! per-query hot path of every containment scenario\n--! (`$1::jsonb::eql_v3.query_jsonb`).\n--! @endinternal\nDO $$\nBEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_jsonb' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_jsonb AS jsonb\n CHECK (\n public.eql_v3_is_valid_ste_vec_query_payload(VALUE)\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_jsonb IS 'EQL JSONB query operand (containment)';\nEND\n$$;\n\n--! @brief Convert a public.eql_v3_json to a query_jsonb needle.\n--!\n--! Normalises each sv element down to the matching-relevant fields: `s` plus\n--! exactly one of `hm` / `op`. Other fields (`c`, `a`, `i`/`v`, anything else)\n--! are stripped. This is the canonical needle shape for `@>` containment.\n--! Designed for use as a functional GIN index expression:\n--! `GIN (eql_v3.to_ste_vec_query(col)::jsonb jsonb_path_ops)`.\n--!\n--! @param e public.eql_v3_json Source encrypted payload\n--! @return eql_v3.query_jsonb Query-shaped needle, sv elements normalised.\n--! @see eql_v3.query_jsonb\nCREATE FUNCTION eql_v3.to_ste_vec_query(e public.eql_v3_json)\n RETURNS eql_v3.query_jsonb\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT jsonb_build_object(\n 'sv',\n coalesce(\n (SELECT jsonb_agg(\n jsonb_strip_nulls(\n jsonb_build_object(\n 's', elem -> 's',\n 'hm', elem -> 'hm',\n 'op', elem -> 'op'\n )\n )\n )\n FROM jsonb_array_elements(e::jsonb -> 'sv') AS elem),\n '[]'::jsonb\n )\n )::eql_v3.query_jsonb\n$$;\n\nCREATE CAST (public.eql_v3_json AS eql_v3.query_jsonb)\n WITH FUNCTION eql_v3.to_ste_vec_query\n AS ASSIGNMENT;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_functions.sql\n--! @brief Functions for public.eql_v3_timestamp.\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param selector text\n--! @return public.eql_v3_timestamp\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp, selector text)\nRETURNS public.eql_v3_timestamp IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param selector integer\n--! @return public.eql_v3_timestamp\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp, selector integer)\nRETURNS public.eql_v3_timestamp IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp\n--! @return public.eql_v3_timestamp\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp)\nRETURNS public.eql_v3_timestamp IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_timestamp_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_ord.\n\n--! @brief Index extractor for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_timestamp_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_timestamp_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_eq_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_eq.\n\n--! @brief Index extractor for eql_v3.query_timestamp_eq.\n--! @param a eql_v3.query_timestamp_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_timestamp_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b eql_v3.query_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_eq, b eql_v3.query_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a eql_v3.query_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b eql_v3.query_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_eq, b eql_v3.query_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a eql_v3.query_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_ore_operators.sql\n--! @brief Operators for public.eql_v3_text_search_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_operators.sql\n--! @brief Operators for public.eql_v3_text_search.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_text_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_text_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_operators.sql\n--! @brief Operators for public.eql_v3_text_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_functions.sql\n--! @brief Functions for public.eql_v3_text.\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param selector text\n--! @return public.eql_v3_text\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text, selector text)\nRETURNS public.eql_v3_text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param selector integer\n--! @return public.eql_v3_text\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text, selector integer)\nRETURNS public.eql_v3_text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param selector public.eql_v3_text\n--! @return public.eql_v3_text\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text)\nRETURNS public.eql_v3_text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param selector public.eql_v3_text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_ore_functions.sql\n--! @brief Functions for eql_v3.query_text_search_ore.\n\n--! @brief Index extractor for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_search_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_text_search_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a eql_v3.query_text_search_ore)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_functions.sql\n--! @brief Functions for eql_v3.query_text_search.\n\n--! @brief Index extractor for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_search)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_text_search)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a eql_v3.query_text_search)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_text_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_ord_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_text_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_functions.sql\n--! @brief Functions for eql_v3.query_text_ord.\n\n--! @brief Index extractor for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_ord)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_text_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_text_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_ord_ope)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_text_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_match_functions.sql\n--! @brief Functions for eql_v3.query_text_match.\n\n--! @brief Index extractor for eql_v3.query_text_match.\n--! @param a eql_v3.query_text_match\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a eql_v3.query_text_match)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b eql_v3.query_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a public.eql_v3_text_match, b eql_v3.query_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a eql_v3.query_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contains(a eql_v3.query_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b eql_v3.query_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_match, b eql_v3.query_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a eql_v3.query_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a eql_v3.query_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_eq_functions.sql\n--! @brief Functions for eql_v3.query_text_eq.\n\n--! @brief Index extractor for eql_v3.query_text_eq.\n--! @param a eql_v3.query_text_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b eql_v3.query_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_eq, b eql_v3.query_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a eql_v3.query_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b eql_v3.query_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_eq, b eql_v3.query_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a eql_v3.query_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_smallint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_smallint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_operators.sql\n--! @brief Operators for public.eql_v3_smallint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_functions.sql\n--! @brief Functions for public.eql_v3_smallint.\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param selector text\n--! @return public.eql_v3_smallint\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint, selector text)\nRETURNS public.eql_v3_smallint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param selector integer\n--! @return public.eql_v3_smallint\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint, selector integer)\nRETURNS public.eql_v3_smallint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint\n--! @return public.eql_v3_smallint\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint)\nRETURNS public.eql_v3_smallint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_smallint_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_smallint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_functions.sql\n--! @brief Functions for eql_v3.query_smallint_ord.\n\n--! @brief Index extractor for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_smallint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_smallint_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_smallint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_eq_functions.sql\n--! @brief Functions for eql_v3.query_smallint_eq.\n\n--! @brief Index extractor for eql_v3.query_smallint_eq.\n--! @param a eql_v3.query_smallint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_smallint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b eql_v3.query_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_eq, b eql_v3.query_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a eql_v3.query_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b eql_v3.query_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_eq, b eql_v3.query_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a eql_v3.query_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_real_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_real_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_operators.sql\n--! @brief Operators for public.eql_v3_real_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_functions.sql\n--! @brief Functions for public.eql_v3_real.\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param selector text\n--! @return public.eql_v3_real\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real, selector text)\nRETURNS public.eql_v3_real IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param selector integer\n--! @return public.eql_v3_real\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real, selector integer)\nRETURNS public.eql_v3_real IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param selector public.eql_v3_real\n--! @return public.eql_v3_real\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real)\nRETURNS public.eql_v3_real IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param selector public.eql_v3_real\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_real_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_real_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_functions.sql\n--! @brief Functions for eql_v3.query_real_ord.\n\n--! @brief Index extractor for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_real_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_real_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_real_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_eq_functions.sql\n--! @brief Functions for eql_v3.query_real_eq.\n\n--! @brief Index extractor for eql_v3.query_real_eq.\n--! @param a eql_v3.query_real_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_real_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b eql_v3.query_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_eq, b eql_v3.query_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a eql_v3.query_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b eql_v3.query_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_eq, b eql_v3.query_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a eql_v3.query_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @file v3/sem/ore_block_256/operator_class.sql\n--! @brief B-tree operator family + default class on eql_v3_internal.ore_block_256.\n--!\n--! Gives the composite type its DEFAULT btree opclass so the recommended\n--! functional index `CREATE INDEX ON t (eql_v3.ord_term_ore(col))` engages without\n--! an explicit opclass annotation (design D4).\n--!\n--! @note Creating an operator family/class requires superuser: Postgres forbids\n--! CREATE OPERATOR FAMILY / CLASS to non-superusers to protect index\n--! integrity. Managed platforms (Supabase, and most hosted Postgres) run\n--! the installer as a non-superuser role, so the DO block below ATTEMPTS\n--! the creation and skips it on insufficient_privilege (SQLSTATE 42501),\n--! letting the single installer run everywhere. When the class is absent,\n--! ORE ordered scans over eql_v3_internal.ore_block_256 are unavailable,\n--! but the order-preserving (OPE) ordering domains — whose extractor\n--! return types carry a native btree opclass — still index without it. On\n--! superuser installs (self-managed Postgres, the SQLx test matrix) the\n--! class is created normally. Any non-privilege error still propagates.\n--! @see eql_v3_internal.compare_ore_block_256_terms\n\nDO $do$\nBEGIN\n EXECUTE 'CREATE OPERATOR FAMILY eql_v3_internal.ore_block_256_operator_family USING btree';\n\n EXECUTE $ddl$\n CREATE OPERATOR CLASS eql_v3_internal.ore_block_256_operator_class\n DEFAULT FOR TYPE eql_v3_internal.ore_block_256\n USING btree FAMILY eql_v3_internal.ore_block_256_operator_family AS\n OPERATOR 1 public.<,\n OPERATOR 2 public.<=,\n OPERATOR 3 public.=,\n OPERATOR 4 public.>=,\n OPERATOR 5 public.>,\n FUNCTION 1 eql_v3_internal.compare_ore_block_256_terms(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\n $ddl$;\n\n RAISE NOTICE 'EQL: created btree operator class eql_v3_internal.ore_block_256_operator_class';\nEXCEPTION\n WHEN insufficient_privilege THEN\n RAISE NOTICE 'EQL: skipped operator class eql_v3_internal.ore_block_256_operator_class (requires superuser); ORE ordered indexes on ore_block_256 unavailable, OPE ordering domains unaffected';\nEND;\n$do$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_numeric_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_numeric_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_functions.sql\n--! @brief Functions for eql_v3.query_numeric_ord.\n\n--! @brief Index extractor for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_numeric_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_numeric_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_numeric_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_eq_functions.sql\n--! @brief Functions for eql_v3.query_numeric_eq.\n\n--! @brief Index extractor for eql_v3.query_numeric_eq.\n--! @param a eql_v3.query_numeric_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_numeric_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b eql_v3.query_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_eq, b eql_v3.query_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a eql_v3.query_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b eql_v3.query_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_eq, b eql_v3.query_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a eql_v3.query_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_numeric_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_numeric_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_operators.sql\n--! @brief Operators for public.eql_v3_numeric_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_functions.sql\n--! @brief Functions for public.eql_v3_numeric.\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param selector text\n--! @return public.eql_v3_numeric\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric, selector text)\nRETURNS public.eql_v3_numeric IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param selector integer\n--! @return public.eql_v3_numeric\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric, selector integer)\nRETURNS public.eql_v3_numeric IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric\n--! @return public.eql_v3_numeric\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric)\nRETURNS public.eql_v3_numeric IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_integer_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_integer_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_functions.sql\n--! @brief Functions for eql_v3.query_integer_ord.\n\n--! @brief Index extractor for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_integer_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_integer_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_integer_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_eq_functions.sql\n--! @brief Functions for eql_v3.query_integer_eq.\n\n--! @brief Index extractor for eql_v3.query_integer_eq.\n--! @param a eql_v3.query_integer_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_integer_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b eql_v3.query_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_eq, b eql_v3.query_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a eql_v3.query_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b eql_v3.query_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_eq, b eql_v3.query_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a eql_v3.query_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_integer_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_integer_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_operators.sql\n--! @brief Operators for public.eql_v3_integer_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_functions.sql\n--! @brief Functions for public.eql_v3_integer.\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param selector text\n--! @return public.eql_v3_integer\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer, selector text)\nRETURNS public.eql_v3_integer IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param selector integer\n--! @return public.eql_v3_integer\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer, selector integer)\nRETURNS public.eql_v3_integer IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer\n--! @return public.eql_v3_integer\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer)\nRETURNS public.eql_v3_integer IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_double_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_double_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_functions.sql\n--! @brief Functions for eql_v3.query_double_ord.\n\n--! @brief Index extractor for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_double_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_double_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_double_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_eq_functions.sql\n--! @brief Functions for eql_v3.query_double_eq.\n\n--! @brief Index extractor for eql_v3.query_double_eq.\n--! @param a eql_v3.query_double_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_double_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b eql_v3.query_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_eq, b eql_v3.query_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a eql_v3.query_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b eql_v3.query_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_eq, b eql_v3.query_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a eql_v3.query_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_double_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_double_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_operators.sql\n--! @brief Operators for public.eql_v3_double_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_functions.sql\n--! @brief Functions for public.eql_v3_double.\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param selector text\n--! @return public.eql_v3_double\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double, selector text)\nRETURNS public.eql_v3_double IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param selector integer\n--! @return public.eql_v3_double\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double, selector integer)\nRETURNS public.eql_v3_double IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param selector public.eql_v3_double\n--! @return public.eql_v3_double\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double)\nRETURNS public.eql_v3_double IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param selector public.eql_v3_double\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_date_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_date_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_functions.sql\n--! @brief Functions for eql_v3.query_date_ord.\n\n--! @brief Index extractor for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_date_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_date_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_date_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_eq_functions.sql\n--! @brief Functions for eql_v3.query_date_eq.\n\n--! @brief Index extractor for eql_v3.query_date_eq.\n--! @param a eql_v3.query_date_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_date_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b eql_v3.query_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_eq, b eql_v3.query_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a eql_v3.query_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b eql_v3.query_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_eq, b eql_v3.query_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a eql_v3.query_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_date_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_date_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_operators.sql\n--! @brief Operators for public.eql_v3_date_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_functions.sql\n--! @brief Functions for public.eql_v3_date.\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param selector text\n--! @return public.eql_v3_date\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date, selector text)\nRETURNS public.eql_v3_date IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param selector integer\n--! @return public.eql_v3_date\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date, selector integer)\nRETURNS public.eql_v3_date IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param selector public.eql_v3_date\n--! @return public.eql_v3_date\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date)\nRETURNS public.eql_v3_date IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param selector public.eql_v3_date\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/boolean/boolean_functions.sql\n--! @brief Functions for public.eql_v3_boolean.\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param selector text\n--! @return public.eql_v3_boolean\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_boolean, selector text)\nRETURNS public.eql_v3_boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param selector integer\n--! @return public.eql_v3_boolean\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_boolean, selector integer)\nRETURNS public.eql_v3_boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param selector public.eql_v3_boolean\n--! @return public.eql_v3_boolean\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_boolean)\nRETURNS public.eql_v3_boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_boolean, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_boolean, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param selector public.eql_v3_boolean\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_boolean)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_boolean, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_boolean, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_boolean, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_boolean, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_boolean, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_boolean, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_boolean, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_boolean, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_boolean, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_boolean, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_boolean, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_boolean, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_boolean)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_bigint_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_bigint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_functions.sql\n--! @brief Functions for eql_v3.query_bigint_ord.\n\n--! @brief Index extractor for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_bigint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_bigint_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_bigint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_eq_functions.sql\n--! @brief Functions for eql_v3.query_bigint_eq.\n\n--! @brief Index extractor for eql_v3.query_bigint_eq.\n--! @param a eql_v3.query_bigint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_bigint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b eql_v3.query_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_eq, b eql_v3.query_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a eql_v3.query_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b eql_v3.query_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_eq, b eql_v3.query_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a eql_v3.query_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_bigint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_bigint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_operators.sql\n--! @brief Operators for public.eql_v3_bigint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_functions.sql\n--! @brief Functions for public.eql_v3_bigint.\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param selector text\n--! @return public.eql_v3_bigint\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint, selector text)\nRETURNS public.eql_v3_bigint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param selector integer\n--! @return public.eql_v3_bigint\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint, selector integer)\nRETURNS public.eql_v3_bigint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint\n--! @return public.eql_v3_bigint\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint)\nRETURNS public.eql_v3_bigint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @file v3/jsonb/functions.sql\n--! @brief Extractors, containment engine, and path/array functions for the\n--! eql_v3 encrypted-JSONB (SteVec) surface.\n--!\n--! `selector` parameters here are *encrypted-side* selector hashes — the\n--! deterministic hash the crypto layer emits in the `s` field of each sv\n--! element. Plaintext JSONPaths are never accepted at runtime.\n\n------------------------------------------------------------------------------\n-- Envelope helpers (eql_v3 owns these; jsonb-only)\n------------------------------------------------------------------------------\n\n--! @brief Extract metadata (i, v) from a raw jsonb encrypted value.\n--! @param val jsonb encrypted EQL payload\n--! @return jsonb Metadata object with `i` and `v` fields.\nCREATE FUNCTION eql_v3.meta_data(val jsonb)\n RETURNS jsonb\n IMMUTABLE STRICT PARALLEL SAFE\n LANGUAGE SQL\nAS $$\n SELECT jsonb_build_object('i', val->'i', 'v', val->'v');\n$$;\n\nCOMMENT ON FUNCTION eql_v3.meta_data(jsonb) IS\n 'eql-inline-critical: raw-jsonb envelope helper used by v3 jsonb wrappers; must stay inlinable (unpinned search_path)';\n\n--! @brief Extract ciphertext (c) from a raw jsonb encrypted value.\n--! @param val jsonb encrypted EQL payload\n--! @return text Base64-encoded ciphertext.\n--! @throws Exception if `c` is absent.\nCREATE FUNCTION eql_v3.ciphertext(val jsonb)\n RETURNS text\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n IF val ? 'c' THEN\n RETURN val->>'c';\n END IF;\n RAISE 'Expected a ciphertext (c) value in json: %', val;\n END;\n$$ LANGUAGE plpgsql;\n\n------------------------------------------------------------------------------\n-- Selector extractors\n------------------------------------------------------------------------------\n\n--! @brief Extract selector (s) from a raw jsonb encrypted value.\n--! @param val jsonb encrypted EQL payload\n--! @return text The selector value.\n--! @throws Exception if `s` is absent.\nCREATE FUNCTION eql_v3.selector(val jsonb)\n RETURNS text\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n IF val ? 's' THEN\n RETURN val->>'s';\n END IF;\n RAISE 'Expected a selector index (s) value in json: %', val;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract selector (s) from a ste_vec entry. The DOMAIN CHECK\n--! guarantees `s` is present, so this is a simple field access.\n--! @param entry public.eql_v3_jsonb_entry\n--! @return text The selector value.\nCREATE FUNCTION eql_v3.selector(entry public.eql_v3_jsonb_entry)\n RETURNS text\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT entry ->> 's'\n$$;\n\n------------------------------------------------------------------------------\n-- Equality-term extractor (XOR-aware: coalesce(hm, op))\n------------------------------------------------------------------------------\n\n--! @brief XOR-aware equality term extractor for public.eql_v3_jsonb_entry.\n--!\n--! Returns the bytea of whichever deterministic term the sv entry carries —\n--! `hm` (HMAC-256) or `op` (CLLW OPE). The two byte distributions are disjoint\n--! by construction, so byte equality on the coalesce is unambiguous. Canonical\n--! equality extractor used by `=` / `<>` on jsonb_entry.\n--!\n--! @param entry public.eql_v3_jsonb_entry\n--! @return bytea Decoded `hm` or `op` bytes (NULL if entry is NULL).\nCREATE FUNCTION eql_v3.eq_term(entry public.eql_v3_jsonb_entry)\n RETURNS bytea\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT decode(coalesce(entry ->> 'hm', entry ->> 'op'), 'hex')\n$$;\n\n------------------------------------------------------------------------------\n-- CLLW OPE per-entry overload (converged with the scalar ord_term)\n------------------------------------------------------------------------------\n\n--! @brief Extract the CLLW OPE index term from a ste_vec entry.\n--!\n--! An sv-element `op` term is only ever present on an sv element, never at a\n--! root encrypted value, so the typed overload accepts public.eql_v3_jsonb_entry —\n--! the jsonb_entry twin of the generated scalar `eql_v3.ord_term`\n--! extractors. Returns SQL NULL when `op` is absent (the strict `->>` /\n--! `decode` chain propagates it), so btree NULL-filters such rows from range\n--! queries. The returned eql_v3_internal.ope_cllw is a bytea domain: it orders\n--! under native byte comparison with the DEFAULT btree opclass, so a\n--! functional index on `eql_v3.ord_term(col -> 'selector')` engages\n--! structurally with no custom operator class (Supabase/managed-Postgres\n--! safe).\n--!\n--! @param entry public.eql_v3_jsonb_entry\n--! @return eql_v3_internal.ope_cllw Hex-decoded CLLW OPE term, or NULL when\n--! `op` is absent.\nCREATE FUNCTION eql_v3.ord_term(entry public.eql_v3_jsonb_entry)\n RETURNS eql_v3_internal.ope_cllw\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.ope_cllw(entry::jsonb)\n$$;\n\n------------------------------------------------------------------------------\n-- sv-array helpers\n------------------------------------------------------------------------------\n\n--! @brief Extract the sv element array as raw jsonb[].\n--!\n--! Returns the elements of `sv` (or a single-element array wrapping the value\n--! when there is no `sv`). No envelope re-wrapping — raw jsonb elements.\n--!\n--! @param val jsonb encrypted EQL payload\n--! @return jsonb[] Array of sv elements.\nCREATE FUNCTION eql_v3.ste_vec(val jsonb)\n RETURNS jsonb[]\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb;\n ary jsonb[];\n BEGIN\n IF val ? 'sv' THEN\n sv := val->'sv';\n ELSE\n sv := jsonb_build_array(val);\n END IF;\n\n SELECT array_agg(elem)\n INTO ary\n FROM jsonb_array_elements(sv) AS elem;\n\n RETURN ary;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Check if a jsonb payload is marked as an sv array (`a` flag true).\n--! @param val jsonb encrypted EQL payload\n--! @return boolean True if `a` is present and true.\nCREATE FUNCTION eql_v3_internal.is_ste_vec_array(val jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n IF val ? 'a' THEN\n RETURN (val->>'a')::boolean;\n END IF;\n RETURN false;\n END;\n$$ LANGUAGE plpgsql;\n\n------------------------------------------------------------------------------\n-- Deterministic-fields array for GIN containment\n------------------------------------------------------------------------------\n\n--! @brief Extract deterministic search fields (s, hm, op) per sv element.\n--!\n--! Excludes non-deterministic ciphertext so PostgreSQL's native jsonb `@>` can\n--! compare for containment. Use for GIN indexes and containment queries.\n--!\n--! @param val jsonb encrypted EQL payload\n--! @return jsonb[] Array of objects with only deterministic fields.\nCREATE FUNCTION eql_v3.jsonb_array(val jsonb)\nRETURNS jsonb[]\nIMMUTABLE STRICT PARALLEL SAFE\nLANGUAGE SQL\nAS $$\n SELECT ARRAY(\n SELECT jsonb_object_agg(kv.key, kv.value)\n FROM jsonb_array_elements(\n CASE WHEN val ? 'sv' THEN val->'sv' ELSE jsonb_build_array(val) END\n ) AS elem,\n LATERAL jsonb_each(elem) AS kv(key, value)\n WHERE kv.key IN ('s', 'hm', 'op')\n GROUP BY elem\n );\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_array(jsonb) IS\n 'eql-inline-critical: raw-jsonb deterministic-field array helper; must stay inlinable (unpinned search_path)';\n\n------------------------------------------------------------------------------\n-- Containment\n------------------------------------------------------------------------------\n\n--! @brief GIN-indexable containment check: does `a` contain all of `b`?\n--! @param a jsonb Container payload.\n--! @param b jsonb Search payload.\n--! @return boolean True if a contains all deterministic elements of b.\n--! @note Public raw-`jsonb[]` containment helper over the extracted\n--! deterministic fields — the function-form entrypoint for containment on\n--! platforms without operator support (Supabase/PostgREST). The typed\n--! `public.eql_v3_json` `@>` operator does NOT call this function — it binds to\n--! `eql_v3.ste_vec_contains` instead — but both agree on the result (a\n--! parity test pins this). Also the documented GIN index expression\n--! (`eql_v3.jsonb_array(col)`); see docs/reference/database-indexes.md.\nCREATE FUNCTION eql_v3.jsonb_contains(a jsonb, b jsonb)\nRETURNS boolean\nIMMUTABLE STRICT PARALLEL SAFE\nLANGUAGE SQL\nAS $$\n SELECT eql_v3.jsonb_array(a) @> eql_v3.jsonb_array(b);\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_contains(jsonb, jsonb) IS\n 'eql-inline-critical: raw-jsonb containment helper; must stay inlinable (unpinned search_path)';\n\n--! @brief GIN-indexable \"is contained by\" check.\n--! @param a jsonb Payload to check.\n--! @param b jsonb Container payload.\n--! @return boolean True if all elements of a are contained in b.\n--! @note Public raw-`jsonb[]` reverse-containment helper — the function-form\n--! entrypoint for `<@` on platforms without operator support. The typed\n--! `public.eql_v3_json` `<@` operator binds to `eql_v3.ste_vec_contains` instead,\n--! but both agree on the result.\nCREATE FUNCTION eql_v3.jsonb_contained_by(a jsonb, b jsonb)\nRETURNS boolean\nIMMUTABLE STRICT PARALLEL SAFE\nLANGUAGE SQL\nAS $$\n SELECT eql_v3.jsonb_array(a) <@ eql_v3.jsonb_array(b);\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_contained_by(jsonb, jsonb) IS\n 'eql-inline-critical: raw-jsonb contained-by helper; must stay inlinable (unpinned search_path)';\n\n--! @brief Check if an sv array contains a specific sv element.\n--!\n--! Match = selector equal AND eq_term equal (byte-equality over coalesce(hm,\n--! op)). This collapses the v2 hm/oc CASE: under the XOR contract both terms\n--! are deterministic and byte-disjoint, so either one is a valid equality\n--! discriminator and a single byte comparison is correct.\n--!\n--! ASSUMPTION (locked by a negative test in v3_jsonb_tests.rs): hm and op byte\n--! distributions never collide at a given selector. The crypto layer configures\n--! a selector for eq XOR ordered, so both sides of a real comparison carry the\n--! same term type — an hm needle never meets an op leaf at the same selector.\n--! This collapse would wrongly match an hm needle against an op leaf if their\n--! hex bytes were ever identical — which the contract prevents (an hm is a\n--! fixed 32-byte HMAC; an op is a CLLW OPE ciphertext whose length is a\n--! function of the plaintext bit width, never 32 bytes for the supported\n--! domains). The negative-containment test guards against regression.\n--!\n--! @param a jsonb[] sv array to search within.\n--! @param b jsonb sv element to search for.\n--! @return boolean True if b is found in any element of a.\nCREATE FUNCTION eql_v3.ste_vec_contains(a jsonb[], b jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n result boolean;\n _a jsonb;\n BEGIN\n result := false;\n\n FOR idx IN 1..array_length(a, 1) LOOP\n _a := a[idx];\n result := result OR (\n eql_v3.selector(_a) = eql_v3.selector(b)\n AND eql_v3.eq_term(_a::public.eql_v3_jsonb_entry) = eql_v3.eq_term(b::public.eql_v3_jsonb_entry)\n );\n EXIT WHEN result;\n END LOOP;\n\n RETURN result;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Does encrypted value `a` contain all sv elements of `b`?\n--!\n--! Empty b is always contained. Each element of b must match selector + eq_term\n--! in some element of a.\n--!\n--! @param a public.eql_v3_json Container.\n--! @param b public.eql_v3_json Elements to find.\n--! @return boolean True if all elements of b are contained in a.\n--! @see eql_v3.ste_vec_contains(jsonb[], jsonb)\nCREATE FUNCTION eql_v3.ste_vec_contains(a public.eql_v3_json, b public.eql_v3_json)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n result boolean;\n sv_a jsonb[];\n sv_b jsonb[];\n _b jsonb;\n BEGIN\n sv_a := eql_v3.ste_vec(a);\n sv_b := eql_v3.ste_vec(b);\n\n IF array_length(sv_b, 1) IS NULL THEN\n RETURN true;\n END IF;\n\n IF array_length(sv_a, 1) IS NULL THEN\n RETURN false;\n END IF;\n\n result := true;\n\n FOR idx IN 1..array_length(sv_b, 1) LOOP\n _b := sv_b[idx];\n result := result AND eql_v3.ste_vec_contains(sv_a, _b);\n END LOOP;\n\n RETURN result;\n END;\n$$ LANGUAGE plpgsql;\n\n------------------------------------------------------------------------------\n-- Path queries (text selector only)\n------------------------------------------------------------------------------\n\n--! @brief Query encrypted JSONB for sv elements matching `selector`.\n--!\n--! Returns one jsonb_entry row per matching encrypted element. Returns empty\n--! set on no match. It deliberately does not wrap multiple matches as an\n--! public.eql_v3_json document, because the root document domain requires an `sv`\n--! array and single leaves belong to public.eql_v3_jsonb_entry.\n--!\n--! @param val jsonb encrypted EQL payload with `sv`.\n--! @param selector text Selector hash (`s` value).\n--! @return SETOF public.eql_v3_jsonb_entry Matching encrypted entries.\n--! @see eql_v3.jsonb_path_query_first\nCREATE FUNCTION eql_v3.jsonb_path_query(val jsonb, selector text)\n RETURNS SETOF public.eql_v3_jsonb_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (eql_v3.meta_data(val) || elem)::public.eql_v3_jsonb_entry\n FROM jsonb_array_elements(val -> 'sv') elem\n WHERE elem ->> 's' = selector\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_path_query(jsonb, text) IS\n 'eql-inline-critical: raw-jsonb path query helper; must stay inlinable (unpinned search_path)';\n\n--! @brief Check if a selector path exists in encrypted JSONB.\n--! @param val jsonb encrypted EQL payload.\n--! @param selector text Selector hash to test.\n--! @return boolean True if a matching element exists.\nCREATE FUNCTION eql_v3.jsonb_path_exists(val jsonb, selector text)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT EXISTS (\n SELECT 1 FROM jsonb_array_elements(val -> 'sv') elem\n WHERE elem ->> 's' = selector\n );\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_path_exists(jsonb, text) IS\n 'eql-inline-critical: raw-jsonb path exists helper; must stay inlinable (unpinned search_path)';\n\n--! @brief Get the first sv element matching `selector`, or NULL.\n--! @param val jsonb encrypted EQL payload.\n--! @param selector text Selector hash to match.\n--! @return public.eql_v3_jsonb_entry First matching element or NULL.\nCREATE FUNCTION eql_v3.jsonb_path_query_first(val jsonb, selector text)\n RETURNS public.eql_v3_jsonb_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (eql_v3.meta_data(val) || elem)::public.eql_v3_jsonb_entry\n FROM jsonb_array_elements(val -> 'sv') elem\n WHERE elem ->> 's' = selector\n LIMIT 1\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_path_query_first(jsonb, text) IS\n 'eql-inline-critical: raw-jsonb path first helper; must stay inlinable (unpinned search_path)';\n\n------------------------------------------------------------------------------\n-- Array functions\n------------------------------------------------------------------------------\n\n--! @brief Get the length of an encrypted JSONB array.\n--! @param val jsonb encrypted EQL payload (must have `a` flag true).\n--! @return integer Number of elements.\n--! @throws Exception 'cannot get array length of a non-array' if not an array.\nCREATE FUNCTION eql_v3.jsonb_array_length(val jsonb)\n RETURNS integer\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb[];\n BEGIN\n IF eql_v3_internal.is_ste_vec_array(val) THEN\n sv := eql_v3.ste_vec(val);\n RETURN array_length(sv, 1);\n END IF;\n\n RAISE 'cannot get array length of a non-array';\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract elements of an encrypted JSONB array as rows.\n--! @param val jsonb encrypted EQL payload (must have `a` flag true).\n--! @return SETOF public.eql_v3_jsonb_entry One row per element (metadata preserved).\n--! @throws Exception 'cannot extract elements from non-array' if not an array.\nCREATE FUNCTION eql_v3.jsonb_array_elements(val jsonb)\n RETURNS SETOF public.eql_v3_jsonb_entry\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb[];\n meta jsonb;\n item jsonb;\n BEGIN\n IF NOT eql_v3_internal.is_ste_vec_array(val) THEN\n RAISE 'cannot extract elements from non-array';\n END IF;\n\n meta := eql_v3.meta_data(val);\n sv := eql_v3.ste_vec(val);\n\n FOR idx IN 1..array_length(sv, 1) LOOP\n item = sv[idx];\n RETURN NEXT (meta || item)::public.eql_v3_jsonb_entry;\n END LOOP;\n\n RETURN;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract elements of an encrypted JSONB array as ciphertext text.\n--! @param val jsonb encrypted EQL payload (must have `a` flag true).\n--! @return SETOF text One ciphertext per element.\n--! @throws Exception 'cannot extract elements from non-array' if not an array.\nCREATE FUNCTION eql_v3.jsonb_array_elements_text(val jsonb)\n RETURNS SETOF text\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb[];\n BEGIN\n IF NOT eql_v3_internal.is_ste_vec_array(val) THEN\n RAISE 'cannot extract elements from non-array';\n END IF;\n\n sv := eql_v3.ste_vec(val);\n\n FOR idx IN 1..array_length(sv, 1) LOOP\n RETURN NEXT eql_v3.ciphertext(sv[idx]);\n END LOOP;\n\n RETURN;\n END;\n$$ LANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE\n-- Source is src/v3/version.template\n\nDROP FUNCTION IF EXISTS eql_v3.version();\n\n--! @file v3/version.sql\n--! @brief EQL version reporting (self-contained eql_v3 surface)\n--!\n--! This file is auto-generated from src/v3/version.template during build.\n--! The 3.0.0 placeholder is replaced with the actual release\n--! version (bare semver, e.g. \"3.0.0\") supplied via `mise run build --version`,\n--! or \"DEV\" for development builds.\n\n--! @brief Get the installed EQL version string\n--!\n--! Returns the version string for the installed EQL library. This value is\n--! baked in at build time from the release tag.\n--!\n--! @return text Version string (e.g. \"3.0.0\" or \"DEV\" for development builds)\n--!\n--! @note Auto-generated during build from src/v3/version.template\n--!\n--! Example: `SELECT eql_v3.version()` returns the installed version string,\n--! e.g. `'3.0.0'` (or `'DEV'` for development builds).\nCREATE FUNCTION eql_v3.version()\n RETURNS text\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT '3.0.0';\n$$ LANGUAGE SQL;\n\n--! @brief Schema-level version marker for obj_description() discoverability\n--!\n--! Mirrors eql_v3.version() as a comment on the schema so the installed\n--! version can also be read via obj_description('eql_v3'::regnamespace).\nCOMMENT ON SCHEMA eql_v3 IS '3.0.0';\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_timestamp_ord_ore.\n\n--! @brief State function for min on public.eql_v3_timestamp_ord_ore.\n--! @param state public.eql_v3_timestamp_ord_ore\n--! @param value public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_timestamp_ord_ore, value public.eql_v3_timestamp_ord_ore)\nRETURNS public.eql_v3_timestamp_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_timestamp_ord_ore.\n--! @param input public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_timestamp_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_timestamp_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_timestamp_ord_ore.\n--! @param state public.eql_v3_timestamp_ord_ore\n--! @param value public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_timestamp_ord_ore, value public.eql_v3_timestamp_ord_ore)\nRETURNS public.eql_v3_timestamp_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_timestamp_ord_ore.\n--! @param input public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_timestamp_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_timestamp_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_timestamp_ord_ope.\n\n--! @brief State function for min on public.eql_v3_timestamp_ord_ope.\n--! @param state public.eql_v3_timestamp_ord_ope\n--! @param value public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_timestamp_ord_ope, value public.eql_v3_timestamp_ord_ope)\nRETURNS public.eql_v3_timestamp_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_timestamp_ord_ope.\n--! @param input public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_timestamp_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_timestamp_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_timestamp_ord_ope.\n--! @param state public.eql_v3_timestamp_ord_ope\n--! @param value public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_timestamp_ord_ope, value public.eql_v3_timestamp_ord_ope)\nRETURNS public.eql_v3_timestamp_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_timestamp_ord_ope.\n--! @param input public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_timestamp_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_timestamp_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_timestamp_ord.\n\n--! @brief State function for min on public.eql_v3_timestamp_ord.\n--! @param state public.eql_v3_timestamp_ord\n--! @param value public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_timestamp_ord, value public.eql_v3_timestamp_ord)\nRETURNS public.eql_v3_timestamp_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_timestamp_ord.\n--! @param input public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_timestamp_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_timestamp_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_timestamp_ord.\n--! @param state public.eql_v3_timestamp_ord\n--! @param value public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_timestamp_ord, value public.eql_v3_timestamp_ord)\nRETURNS public.eql_v3_timestamp_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_timestamp_ord.\n--! @param input public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_timestamp_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_timestamp_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_operators.sql\n--! @brief Operators for public.eql_v3_timestamp.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_eq_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_eq_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = eql_v3.query_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = eql_v3.query_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_search_ore.\n\n--! @brief State function for min on public.eql_v3_text_search_ore.\n--! @param state public.eql_v3_text_search_ore\n--! @param value public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_search_ore, value public.eql_v3_text_search_ore)\nRETURNS public.eql_v3_text_search_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_search_ore.\n--! @param input public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_search_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_search_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_search_ore.\n--! @param state public.eql_v3_text_search_ore\n--! @param value public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_search_ore, value public.eql_v3_text_search_ore)\nRETURNS public.eql_v3_text_search_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_search_ore.\n--! @param input public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_search_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_search_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_search.\n\n--! @brief State function for min on public.eql_v3_text_search.\n--! @param state public.eql_v3_text_search\n--! @param value public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_search, value public.eql_v3_text_search)\nRETURNS public.eql_v3_text_search\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_search.\n--! @param input public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_search) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_search,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_search.\n--! @param state public.eql_v3_text_search\n--! @param value public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_search, value public.eql_v3_text_search)\nRETURNS public.eql_v3_text_search\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_search.\n--! @param input public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_search) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_search,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_ord_ore.\n\n--! @brief State function for min on public.eql_v3_text_ord_ore.\n--! @param state public.eql_v3_text_ord_ore\n--! @param value public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_ord_ore, value public.eql_v3_text_ord_ore)\nRETURNS public.eql_v3_text_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_ord_ore.\n--! @param input public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_ord_ore.\n--! @param state public.eql_v3_text_ord_ore\n--! @param value public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_ord_ore, value public.eql_v3_text_ord_ore)\nRETURNS public.eql_v3_text_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_ord_ore.\n--! @param input public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_ord_ope.\n\n--! @brief State function for min on public.eql_v3_text_ord_ope.\n--! @param state public.eql_v3_text_ord_ope\n--! @param value public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_ord_ope, value public.eql_v3_text_ord_ope)\nRETURNS public.eql_v3_text_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_ord_ope.\n--! @param input public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_ord_ope.\n--! @param state public.eql_v3_text_ord_ope\n--! @param value public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_ord_ope, value public.eql_v3_text_ord_ope)\nRETURNS public.eql_v3_text_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_ord_ope.\n--! @param input public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_ord.\n\n--! @brief State function for min on public.eql_v3_text_ord.\n--! @param state public.eql_v3_text_ord\n--! @param value public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_ord, value public.eql_v3_text_ord)\nRETURNS public.eql_v3_text_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_ord.\n--! @param input public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_ord.\n--! @param state public.eql_v3_text_ord\n--! @param value public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_ord, value public.eql_v3_text_ord)\nRETURNS public.eql_v3_text_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_ord.\n--! @param input public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_operators.sql\n--! @brief Operators for public.eql_v3_text.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_match_operators.sql\n--! @brief Operators for public.eql_v3_text_match.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_eq_operators.sql\n--! @brief Operators for public.eql_v3_text_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_ore_operators.sql\n--! @brief Operators for eql_v3.query_text_search_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_operators.sql\n--! @brief Operators for eql_v3.query_text_search.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_text_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_operators.sql\n--! @brief Operators for eql_v3.query_text_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_text_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_match_operators.sql\n--! @brief Operators for eql_v3.query_text_match.\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = eql_v3.query_text_match,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.contains,\n LEFTARG = eql_v3.query_text_match, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = eql_v3.query_text_match,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = eql_v3.query_text_match, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_eq_operators.sql\n--! @brief Operators for eql_v3.query_text_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = eql_v3.query_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = eql_v3.query_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_smallint_ord_ore.\n\n--! @brief State function for min on public.eql_v3_smallint_ord_ore.\n--! @param state public.eql_v3_smallint_ord_ore\n--! @param value public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_smallint_ord_ore, value public.eql_v3_smallint_ord_ore)\nRETURNS public.eql_v3_smallint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_smallint_ord_ore.\n--! @param input public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_smallint_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_smallint_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_smallint_ord_ore.\n--! @param state public.eql_v3_smallint_ord_ore\n--! @param value public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_smallint_ord_ore, value public.eql_v3_smallint_ord_ore)\nRETURNS public.eql_v3_smallint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_smallint_ord_ore.\n--! @param input public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_smallint_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_smallint_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_smallint_ord_ope.\n\n--! @brief State function for min on public.eql_v3_smallint_ord_ope.\n--! @param state public.eql_v3_smallint_ord_ope\n--! @param value public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_smallint_ord_ope, value public.eql_v3_smallint_ord_ope)\nRETURNS public.eql_v3_smallint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_smallint_ord_ope.\n--! @param input public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_smallint_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_smallint_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_smallint_ord_ope.\n--! @param state public.eql_v3_smallint_ord_ope\n--! @param value public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_smallint_ord_ope, value public.eql_v3_smallint_ord_ope)\nRETURNS public.eql_v3_smallint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_smallint_ord_ope.\n--! @param input public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_smallint_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_smallint_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_smallint_ord.\n\n--! @brief State function for min on public.eql_v3_smallint_ord.\n--! @param state public.eql_v3_smallint_ord\n--! @param value public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_smallint_ord, value public.eql_v3_smallint_ord)\nRETURNS public.eql_v3_smallint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_smallint_ord.\n--! @param input public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_smallint_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_smallint_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_smallint_ord.\n--! @param state public.eql_v3_smallint_ord\n--! @param value public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_smallint_ord, value public.eql_v3_smallint_ord)\nRETURNS public.eql_v3_smallint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_smallint_ord.\n--! @param input public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_smallint_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_smallint_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_operators.sql\n--! @brief Operators for public.eql_v3_smallint.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_eq_operators.sql\n--! @brief Operators for public.eql_v3_smallint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_smallint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_operators.sql\n--! @brief Operators for eql_v3.query_smallint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_smallint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_eq_operators.sql\n--! @brief Operators for eql_v3.query_smallint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = eql_v3.query_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = eql_v3.query_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_real_ord_ore.\n\n--! @brief State function for min on public.eql_v3_real_ord_ore.\n--! @param state public.eql_v3_real_ord_ore\n--! @param value public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_real_ord_ore, value public.eql_v3_real_ord_ore)\nRETURNS public.eql_v3_real_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_real_ord_ore.\n--! @param input public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_real_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_real_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_real_ord_ore.\n--! @param state public.eql_v3_real_ord_ore\n--! @param value public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_real_ord_ore, value public.eql_v3_real_ord_ore)\nRETURNS public.eql_v3_real_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_real_ord_ore.\n--! @param input public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_real_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_real_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_real_ord_ope.\n\n--! @brief State function for min on public.eql_v3_real_ord_ope.\n--! @param state public.eql_v3_real_ord_ope\n--! @param value public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_real_ord_ope, value public.eql_v3_real_ord_ope)\nRETURNS public.eql_v3_real_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_real_ord_ope.\n--! @param input public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_real_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_real_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_real_ord_ope.\n--! @param state public.eql_v3_real_ord_ope\n--! @param value public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_real_ord_ope, value public.eql_v3_real_ord_ope)\nRETURNS public.eql_v3_real_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_real_ord_ope.\n--! @param input public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_real_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_real_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_real_ord.\n\n--! @brief State function for min on public.eql_v3_real_ord.\n--! @param state public.eql_v3_real_ord\n--! @param value public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_real_ord, value public.eql_v3_real_ord)\nRETURNS public.eql_v3_real_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_real_ord.\n--! @param input public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_real_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_real_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_real_ord.\n--! @param state public.eql_v3_real_ord\n--! @param value public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_real_ord, value public.eql_v3_real_ord)\nRETURNS public.eql_v3_real_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_real_ord.\n--! @param input public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_real_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_real_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_operators.sql\n--! @brief Operators for public.eql_v3_real.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_eq_operators.sql\n--! @brief Operators for public.eql_v3_real_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_real_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_operators.sql\n--! @brief Operators for eql_v3.query_real_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_real_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_eq_operators.sql\n--! @brief Operators for eql_v3.query_real_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = eql_v3.query_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = eql_v3.query_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/ore_fallback.sql\n--! @brief Disable the ORE-backed encrypted domains when the ORE operator class is absent (CIP-3468).\n--!\n--! Runs after the DO block in src/v3/sem/ore_block_256/operator_class.sql,\n--! which ATTEMPTS to create the default btree operator class for\n--! eql_v3_internal.ore_block_256 and skips it on insufficient_privilege\n--! (CREATE OPERATOR CLASS requires superuser; managed platforms — cloud\n--! Supabase and most hosted Postgres — run the installer as a non-superuser\n--! role). When the class was created, this file is a no-op.\n--!\n--! When the class was skipped, the ORE-carrying domains would otherwise\n--! install half-working: `<`/`>` comparisons still run (as unindexable seq\n--! scans), while `CREATE INDEX ... (eql_v3.ord_term(col))` and bare\n--! `ORDER BY` fail with opaque Postgres errors. Instead of that silent\n--! degradation, this file poisons every ORE-carrying domain (and its\n--! query-operand twin) with an always-raising CHECK constraint, so the first\n--! value coerced into the domain fails loudly and points at the\n--! platform-supported alternatives (OPE ordering / HMAC equality /\n--! bloom-filter match).\n--!\n--! Footguns honoured (see the encrypted-domain footgun list in CLAUDE.md):\n--! the poison function is LANGUAGE plpgsql (never inlined, so the RAISE\n--! cannot be planned away) and NOT STRICT (a STRICT function is skipped for\n--! NULL inputs, which would silently let NULLs through the poisoned domain).\n--!\n--! The poison constraints are added NOT VALID. For domains — unlike table\n--! constraints — this does not weaken enforcement: coercion applies every\n--! constraint regardless of validation status, so new casts and inserts\n--! (including NULL) still raise. What it skips is validating existing stored\n--! data: without it, re-running the installer over a database that already\n--! holds ORE values (written under an earlier superuser install, before the\n--! installing role was demoted) would run the always-raising poison against\n--! every stored row and abort the install.\n\nDO $do$\nBEGIN\n IF EXISTS (\n SELECT 1\n FROM pg_catalog.pg_opclass c\n JOIN pg_catalog.pg_am am ON am.oid = c.opcmethod\n WHERE am.amname = 'btree'\n AND c.opcdefault\n AND c.opcintype = 'eql_v3_internal.ore_block_256'::pg_catalog.regtype\n ) THEN\n RETURN;\n END IF;\n\n --! @brief Poison CHECK backing for the ORE-carrying domains on platforms\n --! without the ORE operator class. Always raises; never returns.\n --! @internal\n CREATE FUNCTION eql_v3_internal.ore_domain_unavailable(val jsonb, domain_name text, alternatives text)\n RETURNS boolean\n IMMUTABLE PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\n LANGUAGE plpgsql\n AS $poison$\n BEGIN\n RAISE EXCEPTION 'EQL: % cannot be used on this platform: the EQL installer could not create the ORE operator class (requires superuser, unavailable on e.g. cloud-hosted Supabase)', domain_name\n USING HINT = 'Use ' || alternatives || ' instead.',\n ERRCODE = 'feature_not_supported';\n END;\n $poison$;\n -- NOT VALID: skip validating existing stored data (rows written under an\n -- earlier superuser install must stay readable, and re-installing over them\n -- must not abort). Domain coercion still enforces the CHECK on every new\n -- cast/insert regardless of validation status.\n\n ALTER DOMAIN public.eql_v3_integer_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_integer_ord_ore', 'public.eql_v3_integer_eq (equality) or public.eql_v3_integer_ord (ordering) or public.eql_v3_integer_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_integer_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_integer_ord_ore', 'eql_v3.query_integer_eq (equality) or eql_v3.query_integer_ord (ordering) or eql_v3.query_integer_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_smallint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_smallint_ord_ore', 'public.eql_v3_smallint_eq (equality) or public.eql_v3_smallint_ord (ordering) or public.eql_v3_smallint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_smallint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_smallint_ord_ore', 'eql_v3.query_smallint_eq (equality) or eql_v3.query_smallint_ord (ordering) or eql_v3.query_smallint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_bigint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_bigint_ord_ore', 'public.eql_v3_bigint_eq (equality) or public.eql_v3_bigint_ord (ordering) or public.eql_v3_bigint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_bigint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_bigint_ord_ore', 'eql_v3.query_bigint_eq (equality) or eql_v3.query_bigint_ord (ordering) or eql_v3.query_bigint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_date_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_date_ord_ore', 'public.eql_v3_date_eq (equality) or public.eql_v3_date_ord (ordering) or public.eql_v3_date_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_date_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_date_ord_ore', 'eql_v3.query_date_eq (equality) or eql_v3.query_date_ord (ordering) or eql_v3.query_date_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_timestamp_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_timestamp_ord_ore', 'public.eql_v3_timestamp_eq (equality) or public.eql_v3_timestamp_ord (ordering) or public.eql_v3_timestamp_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_timestamp_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_timestamp_ord_ore', 'eql_v3.query_timestamp_eq (equality) or eql_v3.query_timestamp_ord (ordering) or eql_v3.query_timestamp_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_numeric_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_numeric_ord_ore', 'public.eql_v3_numeric_eq (equality) or public.eql_v3_numeric_ord (ordering) or public.eql_v3_numeric_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_numeric_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_numeric_ord_ore', 'eql_v3.query_numeric_eq (equality) or eql_v3.query_numeric_ord (ordering) or eql_v3.query_numeric_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_text_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_text_ord_ore', 'public.eql_v3_text_eq (equality) or public.eql_v3_text_match (match) or public.eql_v3_text_ord (ordering) or public.eql_v3_text_ord_ope (ordering) or public.eql_v3_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_text_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_text_ord_ore', 'eql_v3.query_text_eq (equality) or eql_v3.query_text_match (match) or eql_v3.query_text_ord (ordering) or eql_v3.query_text_ord_ope (ordering) or eql_v3.query_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_text_search_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_text_search_ore', 'public.eql_v3_text_eq (equality) or public.eql_v3_text_match (match) or public.eql_v3_text_ord (ordering) or public.eql_v3_text_ord_ope (ordering) or public.eql_v3_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_text_search_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_text_search_ore', 'eql_v3.query_text_eq (equality) or eql_v3.query_text_match (match) or eql_v3.query_text_ord (ordering) or eql_v3.query_text_ord_ope (ordering) or eql_v3.query_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_real_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_real_ord_ore', 'public.eql_v3_real_eq (equality) or public.eql_v3_real_ord (ordering) or public.eql_v3_real_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_real_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_real_ord_ore', 'eql_v3.query_real_eq (equality) or eql_v3.query_real_ord (ordering) or eql_v3.query_real_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_double_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_double_ord_ore', 'public.eql_v3_double_eq (equality) or public.eql_v3_double_ord (ordering) or public.eql_v3_double_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_double_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_double_ord_ore', 'eql_v3.query_double_eq (equality) or eql_v3.query_double_ord (ordering) or eql_v3.query_double_ord_ope (ordering)')) NOT VALID;\n\n RAISE NOTICE 'EQL: ORE operator class absent (creation requires superuser) — 20 ORE-backed domains disabled and will raise on use; use the _ord_ope (ordering) and _eq (equality) domains — and text_match for text pattern match — instead';\nEND;\n$do$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_numeric_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_operators.sql\n--! @brief Operators for eql_v3.query_numeric_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_numeric_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_eq_operators.sql\n--! @brief Operators for eql_v3.query_numeric_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = eql_v3.query_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = eql_v3.query_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_numeric_ord_ore.\n\n--! @brief State function for min on public.eql_v3_numeric_ord_ore.\n--! @param state public.eql_v3_numeric_ord_ore\n--! @param value public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_numeric_ord_ore, value public.eql_v3_numeric_ord_ore)\nRETURNS public.eql_v3_numeric_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_numeric_ord_ore.\n--! @param input public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_numeric_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_numeric_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_numeric_ord_ore.\n--! @param state public.eql_v3_numeric_ord_ore\n--! @param value public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_numeric_ord_ore, value public.eql_v3_numeric_ord_ore)\nRETURNS public.eql_v3_numeric_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_numeric_ord_ore.\n--! @param input public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_numeric_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_numeric_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_numeric_ord_ope.\n\n--! @brief State function for min on public.eql_v3_numeric_ord_ope.\n--! @param state public.eql_v3_numeric_ord_ope\n--! @param value public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_numeric_ord_ope, value public.eql_v3_numeric_ord_ope)\nRETURNS public.eql_v3_numeric_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_numeric_ord_ope.\n--! @param input public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_numeric_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_numeric_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_numeric_ord_ope.\n--! @param state public.eql_v3_numeric_ord_ope\n--! @param value public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_numeric_ord_ope, value public.eql_v3_numeric_ord_ope)\nRETURNS public.eql_v3_numeric_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_numeric_ord_ope.\n--! @param input public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_numeric_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_numeric_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_numeric_ord.\n\n--! @brief State function for min on public.eql_v3_numeric_ord.\n--! @param state public.eql_v3_numeric_ord\n--! @param value public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_numeric_ord, value public.eql_v3_numeric_ord)\nRETURNS public.eql_v3_numeric_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_numeric_ord.\n--! @param input public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_numeric_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_numeric_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_numeric_ord.\n--! @param state public.eql_v3_numeric_ord\n--! @param value public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_numeric_ord, value public.eql_v3_numeric_ord)\nRETURNS public.eql_v3_numeric_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_numeric_ord.\n--! @param input public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_numeric_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_numeric_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_operators.sql\n--! @brief Operators for public.eql_v3_numeric.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_eq_operators.sql\n--! @brief Operators for public.eql_v3_numeric_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_integer_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_operators.sql\n--! @brief Operators for eql_v3.query_integer_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_integer_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_eq_operators.sql\n--! @brief Operators for eql_v3.query_integer_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = eql_v3.query_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = eql_v3.query_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_integer_ord_ore.\n\n--! @brief State function for min on public.eql_v3_integer_ord_ore.\n--! @param state public.eql_v3_integer_ord_ore\n--! @param value public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_integer_ord_ore, value public.eql_v3_integer_ord_ore)\nRETURNS public.eql_v3_integer_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_integer_ord_ore.\n--! @param input public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_integer_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_integer_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_integer_ord_ore.\n--! @param state public.eql_v3_integer_ord_ore\n--! @param value public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_integer_ord_ore, value public.eql_v3_integer_ord_ore)\nRETURNS public.eql_v3_integer_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_integer_ord_ore.\n--! @param input public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_integer_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_integer_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_integer_ord_ope.\n\n--! @brief State function for min on public.eql_v3_integer_ord_ope.\n--! @param state public.eql_v3_integer_ord_ope\n--! @param value public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_integer_ord_ope, value public.eql_v3_integer_ord_ope)\nRETURNS public.eql_v3_integer_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_integer_ord_ope.\n--! @param input public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_integer_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_integer_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_integer_ord_ope.\n--! @param state public.eql_v3_integer_ord_ope\n--! @param value public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_integer_ord_ope, value public.eql_v3_integer_ord_ope)\nRETURNS public.eql_v3_integer_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_integer_ord_ope.\n--! @param input public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_integer_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_integer_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_integer_ord.\n\n--! @brief State function for min on public.eql_v3_integer_ord.\n--! @param state public.eql_v3_integer_ord\n--! @param value public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_integer_ord, value public.eql_v3_integer_ord)\nRETURNS public.eql_v3_integer_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_integer_ord.\n--! @param input public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_integer_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_integer_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_integer_ord.\n--! @param state public.eql_v3_integer_ord\n--! @param value public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_integer_ord, value public.eql_v3_integer_ord)\nRETURNS public.eql_v3_integer_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_integer_ord.\n--! @param input public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_integer_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_integer_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_operators.sql\n--! @brief Operators for public.eql_v3_integer.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_eq_operators.sql\n--! @brief Operators for public.eql_v3_integer_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_double_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_operators.sql\n--! @brief Operators for eql_v3.query_double_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_double_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_eq_operators.sql\n--! @brief Operators for eql_v3.query_double_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = eql_v3.query_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = eql_v3.query_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_double_ord_ore.\n\n--! @brief State function for min on public.eql_v3_double_ord_ore.\n--! @param state public.eql_v3_double_ord_ore\n--! @param value public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_double_ord_ore, value public.eql_v3_double_ord_ore)\nRETURNS public.eql_v3_double_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_double_ord_ore.\n--! @param input public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_double_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_double_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_double_ord_ore.\n--! @param state public.eql_v3_double_ord_ore\n--! @param value public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_double_ord_ore, value public.eql_v3_double_ord_ore)\nRETURNS public.eql_v3_double_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_double_ord_ore.\n--! @param input public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_double_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_double_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_double_ord_ope.\n\n--! @brief State function for min on public.eql_v3_double_ord_ope.\n--! @param state public.eql_v3_double_ord_ope\n--! @param value public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_double_ord_ope, value public.eql_v3_double_ord_ope)\nRETURNS public.eql_v3_double_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_double_ord_ope.\n--! @param input public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_double_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_double_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_double_ord_ope.\n--! @param state public.eql_v3_double_ord_ope\n--! @param value public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_double_ord_ope, value public.eql_v3_double_ord_ope)\nRETURNS public.eql_v3_double_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_double_ord_ope.\n--! @param input public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_double_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_double_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_double_ord.\n\n--! @brief State function for min on public.eql_v3_double_ord.\n--! @param state public.eql_v3_double_ord\n--! @param value public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_double_ord, value public.eql_v3_double_ord)\nRETURNS public.eql_v3_double_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_double_ord.\n--! @param input public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_double_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_double_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_double_ord.\n--! @param state public.eql_v3_double_ord\n--! @param value public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_double_ord, value public.eql_v3_double_ord)\nRETURNS public.eql_v3_double_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_double_ord.\n--! @param input public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_double_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_double_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_operators.sql\n--! @brief Operators for public.eql_v3_double.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_eq_operators.sql\n--! @brief Operators for public.eql_v3_double_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_date_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_operators.sql\n--! @brief Operators for eql_v3.query_date_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_date_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_eq_operators.sql\n--! @brief Operators for eql_v3.query_date_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = eql_v3.query_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = eql_v3.query_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_date_ord_ore.\n\n--! @brief State function for min on public.eql_v3_date_ord_ore.\n--! @param state public.eql_v3_date_ord_ore\n--! @param value public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_date_ord_ore, value public.eql_v3_date_ord_ore)\nRETURNS public.eql_v3_date_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_date_ord_ore.\n--! @param input public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_date_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_date_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_date_ord_ore.\n--! @param state public.eql_v3_date_ord_ore\n--! @param value public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_date_ord_ore, value public.eql_v3_date_ord_ore)\nRETURNS public.eql_v3_date_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_date_ord_ore.\n--! @param input public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_date_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_date_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_date_ord_ope.\n\n--! @brief State function for min on public.eql_v3_date_ord_ope.\n--! @param state public.eql_v3_date_ord_ope\n--! @param value public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_date_ord_ope, value public.eql_v3_date_ord_ope)\nRETURNS public.eql_v3_date_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_date_ord_ope.\n--! @param input public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_date_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_date_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_date_ord_ope.\n--! @param state public.eql_v3_date_ord_ope\n--! @param value public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_date_ord_ope, value public.eql_v3_date_ord_ope)\nRETURNS public.eql_v3_date_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_date_ord_ope.\n--! @param input public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_date_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_date_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_date_ord.\n\n--! @brief State function for min on public.eql_v3_date_ord.\n--! @param state public.eql_v3_date_ord\n--! @param value public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_date_ord, value public.eql_v3_date_ord)\nRETURNS public.eql_v3_date_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_date_ord.\n--! @param input public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_date_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_date_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_date_ord.\n--! @param state public.eql_v3_date_ord\n--! @param value public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_date_ord, value public.eql_v3_date_ord)\nRETURNS public.eql_v3_date_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_date_ord.\n--! @param input public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_date_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_date_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_operators.sql\n--! @brief Operators for public.eql_v3_date.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_eq_operators.sql\n--! @brief Operators for public.eql_v3_date_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/boolean/boolean_operators.sql\n--! @brief Operators for public.eql_v3_boolean.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_bigint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_operators.sql\n--! @brief Operators for eql_v3.query_bigint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_bigint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_eq_operators.sql\n--! @brief Operators for eql_v3.query_bigint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = eql_v3.query_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = eql_v3.query_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_bigint_ord_ore.\n\n--! @brief State function for min on public.eql_v3_bigint_ord_ore.\n--! @param state public.eql_v3_bigint_ord_ore\n--! @param value public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_bigint_ord_ore, value public.eql_v3_bigint_ord_ore)\nRETURNS public.eql_v3_bigint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_bigint_ord_ore.\n--! @param input public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_bigint_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_bigint_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_bigint_ord_ore.\n--! @param state public.eql_v3_bigint_ord_ore\n--! @param value public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_bigint_ord_ore, value public.eql_v3_bigint_ord_ore)\nRETURNS public.eql_v3_bigint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_bigint_ord_ore.\n--! @param input public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_bigint_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_bigint_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_bigint_ord_ope.\n\n--! @brief State function for min on public.eql_v3_bigint_ord_ope.\n--! @param state public.eql_v3_bigint_ord_ope\n--! @param value public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_bigint_ord_ope, value public.eql_v3_bigint_ord_ope)\nRETURNS public.eql_v3_bigint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_bigint_ord_ope.\n--! @param input public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_bigint_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_bigint_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_bigint_ord_ope.\n--! @param state public.eql_v3_bigint_ord_ope\n--! @param value public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_bigint_ord_ope, value public.eql_v3_bigint_ord_ope)\nRETURNS public.eql_v3_bigint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_bigint_ord_ope.\n--! @param input public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_bigint_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_bigint_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_bigint_ord.\n\n--! @brief State function for min on public.eql_v3_bigint_ord.\n--! @param state public.eql_v3_bigint_ord\n--! @param value public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_bigint_ord, value public.eql_v3_bigint_ord)\nRETURNS public.eql_v3_bigint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_bigint_ord.\n--! @param input public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_bigint_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_bigint_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_bigint_ord.\n--! @param state public.eql_v3_bigint_ord\n--! @param value public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_bigint_ord, value public.eql_v3_bigint_ord)\nRETURNS public.eql_v3_bigint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_bigint_ord.\n--! @param input public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_bigint_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_bigint_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_operators.sql\n--! @brief Operators for public.eql_v3_bigint.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_eq_operators.sql\n--! @brief Operators for public.eql_v3_bigint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\n--! @brief EQL lint: detect non-inlinable operator implementation functions\n--!\n--! Returns one row per violation found in the installed `eql_v3` surface. The\n--! Postgres planner can only inline a function during index matching when:\n--!\n--! * `LANGUAGE sql` (plpgsql / C / etc. cannot be inlined)\n--! * `IMMUTABLE` or `STABLE` volatility (VOLATILE cannot be inlined into\n--! index expressions)\n--! * No `SET` clauses (e.g. `SET search_path = ...`)\n--! * Not `SECURITY DEFINER`\n--! * Single-statement SELECT body\n--!\n--! @note The single-statement SELECT body condition is **not yet checked** by\n--! this lint. A `LANGUAGE sql` function with a multi-statement body, a CTE,\n--! or any pre-SELECT statement will pass all four implemented checks while\n--! remaining non-inlinable. Implementing the check requires walking `prosrc`\n--! (or `pg_get_functiondef`); tracked as a follow-up.\n--!\n--! Operators on `eql_v3` types (the jsonb-backed encrypted-domain families and\n--! the SEM index-term type `eql_v3_internal.ore_block_256`) whose\n--! implementation functions fail any of these rules silently fall back to seq\n--! scan when the documented functional indexes (`eql_v3.eq_term(col)`,\n--! `eql_v3.ord_term(col)`) are in place. This lint surfaces every such case.\n--!\n--! Severity:\n--! `error` — fixable, blocks index matching, ship-blocking.\n--! `warning` — likely-fixable, may not block matching but signals intent.\n--! `info` — observational; useful for review, not a defect on its own.\n--!\n--! Categories:\n--! `inlinability_language` — implementation function isn't `LANGUAGE sql`.\n--! `inlinability_volatility` — implementation function is VOLATILE.\n--! `inlinability_set_clause` — implementation function has a `SET` clause.\n--! `inlinability_secdef` — implementation function is `SECURITY DEFINER`.\n--! `inlinability_transitive` — implementation function is itself inlinable\n--! but its body invokes a non-inlinable function\n--! (depth 1; the planner can't peek through\n--! that boundary).\n--! `blocker_language` — encrypted-domain blocker is not LANGUAGE\n--! plpgsql. The planner can inline / elide a\n--! LANGUAGE sql body when the result is\n--! provably unused, silently bypassing the\n--! RAISE that the blocker exists to perform.\n--! `blocker_strict` — encrypted-domain blocker is STRICT.\n--! PostgreSQL skips the body and returns NULL\n--! on NULL arguments, silently bypassing the\n--! RAISE.\n--! `domain_over_domain` — an `eql_v3` encrypted domain is derived from\n--! another encrypted domain rather than jsonb.\n--! Operators resolve against the ultimate base\n--! type, so the derived domain does not\n--! inherit the base domain's blocker surface.\n--! `domain_opclass` — an operator class is declared FOR TYPE on an\n--! `eql_v3` encrypted domain. Opclasses on\n--! domains bypass operator resolution; use a\n--! functional index on the extractor instead.\n--! `schema_placement` — a naked composite or enum TYPE lives in the\n--! public `eql_v3` schema. Internal index-term\n--! types (e.g. `ore_block_256_term`) belong in\n--! `eql_v3_internal`; a composite/enum in\n--! `eql_v3` clutters the Supabase Table Builder\n--! type picker, which the schema split exists to\n--! prevent. Move it to `eql_v3_internal`.\n--!\n--! @example\n--! ```\n--! SELECT severity, category, object_name, message\n--! FROM eql_v3.lints()\n--! WHERE severity = 'error'\n--! ORDER BY category, object_name;\n--! ```\n--!\n--! @return SETOF record (severity text, category text, object_name text, message text)\nCREATE OR REPLACE FUNCTION eql_v3.lints()\nRETURNS TABLE (\n severity text,\n category text,\n object_name text,\n message text\n)\nLANGUAGE sql STABLE\nAS $$\n WITH\n -- User-column encrypted domains now live in public so application tables\n -- survive EQL uninstall. Keep this separate from owned_schemas(): public is\n -- not installer-owned, but its EQL jsonb-backed domains are still the domain\n -- types whose blockers/operator surfaces the lint must understand.\n encrypted_domain_types AS (\n SELECT\n dt.oid AS typid\n FROM pg_catalog.pg_type dt\n JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace\n JOIN pg_catalog.pg_type bt ON bt.oid = dt.typbasetype\n JOIN pg_catalog.pg_namespace bn ON bn.oid = bt.typnamespace\n WHERE dt.typtype = 'd'\n AND bt.typname = 'jsonb'\n AND bn.nspname = 'pg_catalog'\n AND (\n dn.nspname = 'public'\n OR dn.nspname = ANY(eql_v3_internal.owned_schemas())\n )\n ),\n\n -- All operators where at least one operand is an EQL-owned type or a public\n -- encrypted domain. Limits the scope of the lint to the operator surface\n -- customers actually hit via SQL (`col = val`, `col @> '...'` and friends).\n eql_operators AS (\n SELECT\n op.oid AS oprid,\n op.oprname AS opname,\n op.oprcode AS implfunc,\n op.oprleft::regtype AS lhs,\n op.oprright::regtype AS rhs,\n op.oprcode::regprocedure AS impl_signature\n FROM pg_operator op\n WHERE EXISTS (\n SELECT 1 FROM pg_type t\n WHERE t.oid IN (op.oprleft, op.oprright)\n AND (\n t.typnamespace IN (SELECT oid FROM pg_namespace WHERE nspname = ANY(eql_v3_internal.owned_schemas()))\n OR t.oid IN (SELECT typid FROM encrypted_domain_types)\n )\n )\n ),\n\n -- Cross-join with each operator's implementation function metadata.\n -- One row per operator; columns describe the inlinability of the impl.\n op_impl AS (\n SELECT\n eo.opname,\n eo.lhs,\n eo.rhs,\n eo.implfunc AS impl_oid,\n eo.impl_signature::text AS impl_signature,\n lang_l.lanname AS lang,\n p.provolatile AS volatility,\n p.proconfig AS config,\n p.prosecdef AS secdef,\n p.prosrc AS body\n FROM eql_operators eo\n JOIN pg_proc p ON p.oid = eo.implfunc\n JOIN pg_language lang_l ON lang_l.oid = p.prolang\n ),\n\n -- Encrypted-domain blockers: functions in `eql_v3` whose body contains\n -- a blocker marker emitted by the codegen (any of the\n -- `encrypted_domain_unsupported_*` helper calls — `_bool` for boolean\n -- blockers, `_jsonb` for the native-jsonb-operator blockers; plus the\n -- literal `is not supported for` for older path-operator blockers) AND\n -- that take at least one encrypted domain over jsonb argument. The argument\n -- filter excludes the shared `encrypted_domain_unsupported_*(text, text)`\n -- helpers themselves, which contain the marker in their body but are not\n -- blockers (they take text arguments, not a domain).\n encrypted_domain_blockers AS (\n SELECT\n p.oid AS oid,\n p.oid::regprocedure::text AS signature,\n lang_l.lanname AS lang,\n p.proisstrict AS isstrict\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n JOIN pg_catalog.pg_language lang_l ON lang_l.oid = p.prolang\n WHERE n.nspname = ANY(eql_v3_internal.owned_schemas())\n AND (p.prosrc LIKE '%encrypted_domain_unsupported%'\n OR p.prosrc LIKE '%is not supported for%')\n AND EXISTS (\n SELECT 1\n FROM pg_catalog.unnest(p.proargtypes::oid[]) AS arg(typ)\n JOIN encrypted_domain_types edt ON edt.typid = arg.typ\n )\n )\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Direct inlinability checks: each row examines one operator's │\n -- │ implementation function and emits a violation if any rule is │\n -- │ broken. Multiple violations on the same function become │\n -- │ multiple rows (developers see every reason it doesn't inline). │\n -- └─────────────────────────────────────────────────────────────────┘\n\n SELECT\n 'error' AS severity,\n 'inlinability_language' AS category,\n format('operator %s(%s, %s) -> %s',\n opname, lhs, rhs, impl_signature) AS object_name,\n format(\n 'Operator implementation function is `LANGUAGE %s`; only `LANGUAGE sql` functions can be inlined by the planner. Bare `col %s val` queries fall back to seq scan even when a matching functional index exists.',\n lang, opname) AS message\n FROM op_impl\n WHERE lang <> 'sql'\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_volatility',\n format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature),\n format(\n 'Operator implementation function is `VOLATILE`. The Postgres planner refuses to inline volatile functions into index expressions, so functional indexes never engage. Mark the function `IMMUTABLE` (or `STABLE` if it depends on session state).',\n opname)\n FROM op_impl\n WHERE volatility = 'v'\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_set_clause',\n format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature),\n format(\n 'Operator implementation function has a `SET` clause (e.g. `SET search_path = ...`). Per Postgres function-inlining rules, any `SET` clause blocks inlining. Use schema-qualified identifiers in the body and remove the `SET` clause to allow the planner to inline.')\n FROM op_impl\n WHERE config IS NOT NULL\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_secdef',\n format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature),\n 'Operator implementation function is `SECURITY DEFINER`. Such functions cannot be inlined; remove `SECURITY DEFINER` or use a non-inlinable wrapper layer.'\n FROM op_impl\n WHERE secdef\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Transitive inlinability: an operator implementation function │\n -- │ that's itself inlinable can still fail to inline if its body │\n -- │ calls a non-inlinable function. Walk one level via pg_depend. │\n -- │ │\n -- │ Postgres records function-to-function dependencies in │\n -- │ pg_depend with deptype 'n' (normal) when one function references│\n -- │ another in its body — but only at CREATE time and only for │\n -- │ direct calls. This is good enough for v1; deeper transitive │\n -- │ analysis is a follow-up. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_transitive',\n format('operator %s(%s, %s) -> %s', oi.opname, oi.lhs, oi.rhs,\n oi.impl_signature),\n format(\n 'Operator implementation function is inlinable but invokes non-inlinable function `%s` (lang=%s, volatility=%s%s). The chain blocks at depth 1: the planner inlines the outer call but cannot reduce the inner call into an index expression.',\n called.proname,\n called_lang.lanname,\n CASE called.provolatile\n WHEN 'i' THEN 'IMMUTABLE'\n WHEN 's' THEN 'STABLE'\n WHEN 'v' THEN 'VOLATILE'\n END,\n CASE WHEN called.proconfig IS NOT NULL\n THEN ', has SET clause'\n ELSE '' END)\n FROM op_impl oi\n -- Only worth the transitive check if the outer function is otherwise\n -- inlinable — otherwise the direct lints above already report it.\n JOIN pg_proc outer_p ON outer_p.oid = oi.impl_signature::regprocedure\n JOIN pg_depend d\n ON d.classid = 'pg_proc'::regclass\n AND d.objid = outer_p.oid\n AND d.refclassid = 'pg_proc'::regclass\n AND d.deptype = 'n'\n JOIN pg_proc called ON called.oid = d.refobjid\n JOIN pg_language called_lang ON called_lang.oid = called.prolang\n WHERE oi.lang = 'sql'\n AND oi.volatility IN ('i', 's')\n AND oi.config IS NULL\n AND NOT oi.secdef\n AND called.oid <> outer_p.oid\n AND (\n called_lang.lanname <> 'sql'\n OR called.provolatile = 'v'\n OR called.proconfig IS NOT NULL\n OR called.prosecdef\n )\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Encrypted-domain footguns: blockers exist to RAISE, so they │\n -- │ have inverted inlinability requirements vs operator impls. │\n -- │ A LANGUAGE sql blocker can be elided by the planner; a STRICT │\n -- │ blocker returns NULL on NULL args. Both silently re-enable │\n -- │ operators the storage variant is supposed to block. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'blocker_language',\n format('function %s', signature),\n format(\n 'Encrypted-domain blocker is `LANGUAGE %s`; must be `LANGUAGE plpgsql` so the RAISE is opaque to the planner. A `LANGUAGE sql` body is inlinable and may be elided when the result is provably unused, silently re-enabling the operator.',\n lang)\n FROM encrypted_domain_blockers\n WHERE lang <> 'plpgsql'\n\n UNION ALL\n\n SELECT\n 'error',\n 'blocker_strict',\n format('function %s', signature),\n 'Encrypted-domain blocker is `STRICT`. PostgreSQL skips the body and returns NULL on a NULL argument, silently bypassing the RAISE. Remove `STRICT`.'\n FROM encrypted_domain_blockers\n WHERE isstrict\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Domain identity: an encrypted-domain must be defined directly │\n -- │ over jsonb. Operators resolve against the ultimate base type, │\n -- │ so domain-over-domain inherits jsonb's operator surface and not │\n -- │ the base domain's blockers. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'domain_over_domain',\n format('domain %I.%I', dn.nspname, dt.typname),\n format(\n 'Domain `%s.%s` is derived from another encrypted-domain `%s.%s` rather than jsonb. Operators resolve against the ultimate base type, so the derived domain does not inherit the base domain''s operator surface and storage blockers do not engage. Define this domain directly over jsonb.',\n dn.nspname, dt.typname, bn.nspname, bt.typname)\n FROM pg_catalog.pg_type dt\n JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace\n JOIN pg_catalog.pg_type bt ON bt.oid = dt.typbasetype\n JOIN pg_catalog.pg_namespace bn ON bn.oid = bt.typnamespace\n WHERE dt.typtype = 'd'\n AND dn.nspname = ANY(eql_v3_internal.owned_schemas())\n AND bt.typtype = 'd'\n AND bt.oid IN (SELECT typid FROM encrypted_domain_types)\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Domain opclass: an operator class declared FOR TYPE on an │\n -- │ encrypted-domain bypasses operator resolution at index time. │\n -- │ Use a functional index on the extractor instead. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'domain_opclass',\n format('opclass %I.%I FOR TYPE %s.%s', cn.nspname, oc.opcname, tn.nspname, t.typname),\n format(\n 'Operator class `%s.%s` is declared FOR TYPE `%s.%s`, which is an encrypted-domain type. Opclasses on domains bypass operator resolution. Use a functional index on the extractor (e.g. `%s.eq_term(col)`, `%s.ord_term(col)`) instead.',\n cn.nspname, oc.opcname, tn.nspname, t.typname, tn.nspname, tn.nspname)\n FROM pg_catalog.pg_opclass oc\n JOIN pg_catalog.pg_type t ON t.oid = oc.opcintype\n JOIN pg_catalog.pg_namespace tn ON tn.oid = t.typnamespace\n JOIN pg_catalog.pg_namespace cn ON cn.oid = oc.opcnamespace\n WHERE t.oid IN (SELECT typid FROM encrypted_domain_types)\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Schema placement: the public `eql_v3` schema must hold only the │\n -- │ jsonb-backed encrypted-domain types. A naked composite/enum type │\n -- │ there is an internal index-term type in the wrong schema — it │\n -- │ clutters the Supabase type picker the split exists to keep clean. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'schema_placement',\n format('type %I.%I', n.nspname, t.typname),\n format(\n 'Type `%s.%s` is a %s in the public `eql_v3` schema. Only jsonb-backed encrypted-domain types belong in `eql_v3`; internal index-term types belong in `eql_v3_internal` so they stay out of the Supabase Table Builder type picker. Move it to `eql_v3_internal`.',\n n.nspname, t.typname,\n CASE t.typtype WHEN 'c' THEN 'composite type' WHEN 'e' THEN 'enum type' ELSE 'type' END)\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n WHERE n.nspname = 'eql_v3'\n AND t.typtype IN ('c', 'e')\n\n ORDER BY 1, 2, 3;\n$$;\n\nCOMMENT ON FUNCTION eql_v3.lints() IS\n 'EQL lint: returns one row per non-inlinable operator implementation. '\n 'Run `SELECT * FROM eql_v3.lints() WHERE severity = ''error''` for a '\n 'CI-gateable check that all operator implementations on eql_v3 types are '\n 'eligible for planner inlining.';\n\n--! @file v3/jsonb/operators.sql\n--! @brief Operators on public.eql_v3_json and public.eql_v3_jsonb_entry.\n\n------------------------------------------------------------------------------\n-- -> field accessor (returns jsonb_entry)\n------------------------------------------------------------------------------\n\n--! @brief -> operator with text selector.\n--!\n--! Returns the sv entry whose `s` equals @p selector, with root `i`/`v` merged\n--! in. Inlinable: `WHERE col -> 'sel' = $1` reduces structurally to\n--! `eql_v3.eq_term(col -> 'sel') = eql_v3.eq_term($1)` and matches a functional\n--! index on `eql_v3.eq_term(col -> 'sel')`.\n--!\n--! @warning The selector operand MUST carry a known type — a text-typed\n--! parameter (`$1`, the Proxy interface) or an explicit cast (`col -> 'sel'::%text`).\n--! A bare untyped literal (`col -> 'sel'`) resolves to the NATIVE `jsonb -> %text`\n--! operator and silently returns native jsonb semantics (a root-key lookup,\n--! typically NULL), NOT this operator: PostgreSQL reduces the `public.eql_v3_json`\n--! domain to its base type `jsonb` when resolving an unknown-typed RHS, and the\n--! native base-type operator wins the exact-match tiebreak. This is intrinsic to\n--! the domain type-kind and applies to the native-jsonb blockers too. See\n--! the \"Typed operands\" caveat in docs/reference/json-support.md.\n--!\n--! @param e public.eql_v3_json Root encrypted payload.\n--! @param selector text Selector hash.\n--! @return public.eql_v3_jsonb_entry Matching entry merged with root meta, or NULL.\nCREATE FUNCTION eql_v3.\"->\"(e public.eql_v3_json, selector text)\n RETURNS public.eql_v3_jsonb_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (\n eql_v3.meta_data(e) ||\n jsonb_path_query_first(\n e,\n '$.sv[*] ? (@.s == $sel)'::jsonpath,\n jsonb_build_object('sel', selector)\n )\n )::public.eql_v3_jsonb_entry\n$$;\n\nCREATE OPERATOR ->(\n FUNCTION=eql_v3.\"->\",\n LEFTARG=public.eql_v3_json,\n RIGHTARG=text\n);\n\n--! @brief -> operator with integer array index (0-based, JSONB convention).\n--! @param e public.eql_v3_json Encrypted sv-array payload.\n--! @param selector integer Array index.\n--! @return public.eql_v3_jsonb_entry Matching entry merged with root meta, or NULL.\nCREATE FUNCTION eql_v3.\"->\"(e public.eql_v3_json, selector integer)\n RETURNS public.eql_v3_jsonb_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT CASE\n WHEN eql_v3_internal.is_ste_vec_array(e) THEN\n -- NOTE: `e::jsonb` makes the native-jsonb traversal explicit. `'sv'` is an\n -- unknown-typed literal, so `e -> 'sv'` already flattens `public.eql_v3_json` to\n -- its base type and binds native `jsonb -> text` (see the @warning above) —\n -- the custom `->(public.eql_v3_json, text)` operator does NOT capture a bare\n -- untyped literal. The cast documents that intent and guards the `-> selector`\n -- (integer) hop from ever resolving to the v3 `->(public.eql_v3_json, integer)`\n -- operator instead of native array access.\n (eql_v3.meta_data(e) || (e::jsonb -> 'sv' -> selector))::public.eql_v3_jsonb_entry\n ELSE NULL\n END\n$$;\n\nCREATE OPERATOR ->(\n FUNCTION=eql_v3.\"->\",\n LEFTARG=public.eql_v3_json,\n RIGHTARG=integer\n);\n\n------------------------------------------------------------------------------\n-- ->> field accessor (alias of -> coerced to text)\n------------------------------------------------------------------------------\n\n--! @brief ->> operator with text selector. Inlinable alias of -> coerced to\n--! text.\n--!\n--! Intentional v2 parity: this serializes the entire matched jsonb_entry\n--! object as JSON text. It does not decrypt or return scalar plaintext like\n--! native `jsonb ->>`.\n--! @param e public.eql_v3_json Encrypted payload.\n--! @param selector text Field selector hash.\n--! @return text The matching entry as text.\nCREATE FUNCTION eql_v3.\"->>\"(e public.eql_v3_json, selector text)\n RETURNS text\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"->\"(e, selector)::jsonb::text\n$$;\n\nCREATE OPERATOR ->> (\n FUNCTION=eql_v3.\"->>\",\n LEFTARG=public.eql_v3_json,\n RIGHTARG=text\n);\n\n--! @brief ->> operator with integer array index. Inlinable alias of\n--! ->(json, integer) coerced to text.\n--! @param e public.eql_v3_json Encrypted sv-array payload.\n--! @param selector integer Array index.\n--! @return text The matching entry as text.\nCREATE FUNCTION eql_v3.\"->>\"(e public.eql_v3_json, selector integer)\n RETURNS text\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"->\"(e, selector)::jsonb::text\n$$;\n\nCREATE OPERATOR ->> (\n FUNCTION=eql_v3.\"->>\",\n LEFTARG=public.eql_v3_json,\n RIGHTARG=integer\n);\n\n------------------------------------------------------------------------------\n-- @> containment\n------------------------------------------------------------------------------\n\n--! @brief @> contains operator (document, document).\n--! @param a public.eql_v3_json Container.\n--! @param b public.eql_v3_json Contained value.\n--! @return boolean True if a contains b.\n--! @see eql_v3.ste_vec_contains\nCREATE FUNCTION eql_v3.\"@>\"(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ste_vec_contains(a, b)\n$$;\n\nCREATE OPERATOR @>(\n FUNCTION=eql_v3.\"@>\",\n LEFTARG=public.eql_v3_json,\n RIGHTARG=public.eql_v3_json\n);\n\n--! @brief @> contains operator with an query_jsonb needle.\n--!\n--! Inlines to native `jsonb @>` over `eql_v3.to_ste_vec_query(a)::jsonb`, so a\n--! functional GIN index on the same expression engages.\n--!\n--! @param a public.eql_v3_json Container.\n--! @param b eql_v3.query_jsonb Query payload.\n--! @return boolean True if a contains b.\nCREATE FUNCTION eql_v3.\"@>\"(a public.eql_v3_json, b eql_v3.query_jsonb)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.to_ste_vec_query(a)::jsonb @> b::jsonb\n$$;\n\nCREATE OPERATOR @>(\n FUNCTION=eql_v3.\"@>\",\n LEFTARG=public.eql_v3_json,\n RIGHTARG=eql_v3.query_jsonb\n);\n\n--! @brief @> contains operator with a single jsonb_entry needle.\n--!\n--! Wraps the entry into a single-element sv array (stripping `c`) and reduces\n--! to the same `to_ste_vec_query(a)::jsonb @> needle::jsonb` form.\n--!\n--! @param a public.eql_v3_json Container.\n--! @param b public.eql_v3_jsonb_entry Single entry.\n--! @return boolean True if a contains an sv entry matching b.\nCREATE FUNCTION eql_v3.\"@>\"(a public.eql_v3_json, b public.eql_v3_jsonb_entry)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.to_ste_vec_query(a)::jsonb\n @> jsonb_build_object(\n 'sv',\n jsonb_build_array(\n jsonb_strip_nulls(\n jsonb_build_object(\n 's', b -> 's',\n 'hm', b -> 'hm',\n 'op', b -> 'op'\n )\n )\n )\n )\n$$;\n\nCREATE OPERATOR @>(\n FUNCTION=eql_v3.\"@>\",\n LEFTARG=public.eql_v3_json,\n RIGHTARG=public.eql_v3_jsonb_entry\n);\n\n------------------------------------------------------------------------------\n-- <@ contained-by (reverse of @>)\n------------------------------------------------------------------------------\n\n--! @brief <@ contained-by operator (document, document).\n--! @param a public.eql_v3_json Contained value.\n--! @param b public.eql_v3_json Container.\n--! @return boolean True if a is contained by b.\nCREATE FUNCTION eql_v3.\"<@\"(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ste_vec_contains(b, a)\n$$;\n\nCREATE OPERATOR <@(\n FUNCTION=eql_v3.\"<@\",\n LEFTARG=public.eql_v3_json,\n RIGHTARG=public.eql_v3_json\n);\n\n--! @brief <@ contained-by operator with an query_jsonb LHS.\n--! @param a eql_v3.query_jsonb Query payload.\n--! @param b public.eql_v3_json Container.\n--! @return boolean True if b contains a.\nCREATE FUNCTION eql_v3.\"<@\"(a eql_v3.query_jsonb, b public.eql_v3_json)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"@>\"(b, a)\n$$;\n\nCREATE OPERATOR <@(\n FUNCTION=eql_v3.\"<@\",\n LEFTARG=eql_v3.query_jsonb,\n RIGHTARG=public.eql_v3_json\n);\n\n--! @brief <@ contained-by operator with a jsonb_entry LHS.\n--! @param a public.eql_v3_jsonb_entry Single entry.\n--! @param b public.eql_v3_json Container.\n--! @return boolean True if b contains a.\nCREATE FUNCTION eql_v3.\"<@\"(a public.eql_v3_jsonb_entry, b public.eql_v3_json)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"@>\"(b, a)\n$$;\n\nCREATE OPERATOR <@(\n FUNCTION=eql_v3.\"<@\",\n LEFTARG=public.eql_v3_jsonb_entry,\n RIGHTARG=public.eql_v3_json\n);\n\n------------------------------------------------------------------------------\n-- jsonb_entry comparisons\n------------------------------------------------------------------------------\n\n--! @brief Equality on jsonb_entry via eq_term (hm-or-op byte equality).\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if the entries are equal\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b)\n$$;\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = =,\n NEGATOR = <>,\n RESTRICT = eqsel,\n JOIN = eqjoinsel\n);\n\n--! @brief Inequality on jsonb_entry via eq_term.\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if the entries are not equal\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b)\n$$;\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = <>,\n NEGATOR = =,\n RESTRICT = neqsel,\n JOIN = neqjoinsel\n);\n\n--! @brief Less-than on jsonb_entry via the CLLW OPE term (native bytea order).\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if a is less than b\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = >,\n NEGATOR = >=,\n RESTRICT = scalarltsel,\n JOIN = scalarltjoinsel\n);\n\n--! @brief Less-than-or-equal on jsonb_entry via the CLLW OPE term.\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if a is less than or equal to b\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = >=,\n NEGATOR = >,\n RESTRICT = scalarlesel,\n JOIN = scalarlejoinsel\n);\n\n--! @brief Greater-than on jsonb_entry via the CLLW OPE term.\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if a is greater than b\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = <,\n NEGATOR = <=,\n RESTRICT = scalargtsel,\n JOIN = scalargtjoinsel\n);\n\n--! @brief Greater-than-or-equal on jsonb_entry via the CLLW OPE term.\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if a is greater than or equal to b\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = <=,\n NEGATOR = <,\n RESTRICT = scalargesel,\n JOIN = scalargejoinsel\n);\n\n--! @file v3/jsonb/blockers.sql\n--! @brief Native-jsonb firewall for public.eql_v3_json.\n--!\n--! public.eql_v3_json SUPPORTS @> <@ -> ->> (see operators.sql). Comparisons\n--! = <> < <= > >= are supported on public.eql_v3_jsonb_entry only, not on the root\n--! document domain.\n--! Every OTHER native jsonb operator reachable via domain fallback against the\n--! base type jsonb is BLOCKED here so an encrypted column can never silently\n--! route to plaintext-jsonb semantics. The blocked set is KNOWN_JSONB_OPERATORS\n--! minus the supported ops: ? ?| ?& @? @@ #> #>> - #- ||.\n--!\n--! Each blocker is LANGUAGE plpgsql (NEVER STRICT — a STRICT blocker would let\n--! PostgreSQL skip the body and return NULL on a NULL argument, bypassing the\n--! exception) and delegates to the shared eql_v3.encrypted_domain_unsupported_*\n--! helpers. Each blocker's RETURNS type matches the native operator it shadows\n--! (#> -> jsonb, #>> -> text, - / #- / || -> jsonb; the rest are boolean) so a\n--! composed expression resolves and the body raises 'operator not supported',\n--! rather than failing earlier with a misleading 'operator does not exist' on a\n--! boolean intermediate. The bound operator must resolve before native fallback,\n--! so the firewall fires.\n\n--! @brief Blocker: ? (key/element exists).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b text Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_exists(a public.eql_v3_json, b text)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', '?');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.jsonb_blocked_exists,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = text\n);\n\n--! @brief Blocker: ?| (any key exists).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_exists_any(a public.eql_v3_json, b text[])\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', '?|');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.jsonb_blocked_exists_any,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: ?& (all keys exist).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_exists_all(a public.eql_v3_json, b text[])\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', '?&');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.jsonb_blocked_exists_all,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: @? (jsonpath exists).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b jsonpath Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_jsonpath_exists(a public.eql_v3_json, b jsonpath)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', '@?');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.jsonb_blocked_jsonpath_exists,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonpath\n);\n\n--! @brief Blocker: @@ (jsonpath predicate).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b jsonpath Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_jsonpath_match(a public.eql_v3_json, b jsonpath)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', '@@');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_jsonpath_match,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonpath\n);\n\n--! @brief Blocker: #> (path extract, native returns jsonb).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_path_extract(a public.eql_v3_json, b text[])\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json', '#>');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.jsonb_blocked_path_extract,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: #>> (path extract as text).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return text Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_path_extract_text(a public.eql_v3_json, b text[])\nRETURNS text\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_text('public.eql_v3_json', '#>>');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.jsonb_blocked_path_extract_text,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: - (delete key, text RHS; native returns jsonb).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b text Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_text(a public.eql_v3_json, b text)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json', '-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_text,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = text\n);\n\n--! @brief Blocker: - (delete index, integer RHS).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b integer Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_int(a public.eql_v3_json, b integer)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json', '-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_int,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = integer\n);\n\n--! @brief Blocker: - (delete keys, text[] RHS).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_array(a public.eql_v3_json, b text[])\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json', '-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_array,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: #- (delete at path).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_path(a public.eql_v3_json, b text[])\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json', '#-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_path,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: || (concatenate, encrypted on the left).\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_concat(a public.eql_v3_json, b jsonb)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json', '||');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.jsonb_blocked_concat,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonb\n);\n\n--! @brief Blocker: || (concatenate, encrypted on the right).\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json Right operand (encrypted payload).\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_concat_rhs(a jsonb, b public.eql_v3_json)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json', '||');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.jsonb_blocked_concat_rhs,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json\n);\n\n------------------------------------------------------------------------------\n-- Root-document comparison blockers.\n------------------------------------------------------------------------------\n\n--! @brief Blocker: root public.eql_v3_json document comparisons.\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b public.eql_v3_json Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_compare_json_json(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', 'comparison');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: root public.eql_v3_json-to-jsonb comparisons.\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_compare_json_jsonb(a public.eql_v3_json, b jsonb)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', 'comparison');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: root jsonb-to-public.eql_v3_json comparisons.\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_compare_jsonb_json(a jsonb, b public.eql_v3_json)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', 'comparison');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json\n);\n\n------------------------------------------------------------------------------\n-- Mixed jsonb containment blockers.\n------------------------------------------------------------------------------\n\n--! @brief Blocker: @> with encrypted root document and native jsonb.\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contains_json_jsonb(a public.eql_v3_json, b jsonb)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', '@>');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: @> with native jsonb and encrypted root document.\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contains_jsonb_json(a jsonb, b public.eql_v3_json)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', '@>');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: <@ with encrypted root document and native jsonb.\n--! @param a public.eql_v3_json Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contained_json_jsonb(a public.eql_v3_json, b jsonb)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', '<@');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: <@ with native jsonb and encrypted root document.\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contained_jsonb_json(a jsonb, b public.eql_v3_json)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json', '<@');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.jsonb_blocked_contains_json_jsonb,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.jsonb_blocked_contains_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_contained_json_jsonb,\n LEFTARG = public.eql_v3_json,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_contained_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json\n);\n\n--! @file v3/jsonb/aggregates.sql\n--! @brief min / max aggregates over public.eql_v3_jsonb_entry.\n--!\n--! SteVec document entries extracted at a selector (`doc -> 'sel'`) order by\n--! their CLLW OPE (`op`) term, so the extremum is picked by comparing\n--! `eql_v3.ord_term(entry)` rather than the scalar Block-ORE `ord_term` the\n--! generated scalar ord aggregates use. The ope_cllw bytea domain orders under\n--! native byte comparison, so `<` / `>` on the extracted terms needs no custom\n--! comparator. Same STRICT + PARALLEL SAFE shape as the generated scalar\n--! `min`/`max` so partial/parallel aggregation is available on large GROUP BY\n--! workloads.\n--!\n--! Per the encrypted-domain footgun rules the state functions are\n--! `LANGUAGE plpgsql` with the pinned `search_path` — a `LANGUAGE sql` body would\n--! be inlinable and the planner could elide it.\n--!\n--! @note **Only `op`-carrying entries are orderable.** `eql_v3.ord_term(entry)`\n--! returns NULL when an entry has no `op` (CLLW OPE) term — the same entries a\n--! `eql_v3.ord_term` btree NULL-filters from range scans. The state functions\n--! therefore IGNORE `op`-less entries (they never become or survive as the\n--! extremum), so `min`/`max` is well-defined over a mix of `op`-carrying and\n--! `op`-less entries and is not corrupted by an `op`-less seed. A naive\n--! `ord_term(value) < ord_term(state)` would be NULL whenever either side\n--! lacks `op`, pinning a wrong (`op`-less) extremum when the first aggregated\n--! row is `op`-less. An all-`op`-less input has no orderable extremum and\n--! returns the (arbitrary) STRICT seed.\n\n--! @brief State function for min on public.eql_v3_jsonb_entry.\n--!\n--! Keeps whichever orderable entry has the lesser CLLW OPE term. STRICT, so SQL\n--! NULL entries are skipped by the aggregate machinery; `op`-less (non-orderable)\n--! entries are skipped explicitly (see the @note on this file).\n--!\n--! @param state public.eql_v3_jsonb_entry Running extremum.\n--! @param value public.eql_v3_jsonb_entry Candidate entry.\n--! @return public.eql_v3_jsonb_entry The lesser orderable entry by `ord_term`.\nCREATE FUNCTION eql_v3_internal.jsonb_entry_min_sfunc(\n state public.eql_v3_jsonb_entry,\n value public.eql_v3_jsonb_entry\n)\nRETURNS public.eql_v3_jsonb_entry\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nDECLARE\n value_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(value);\n state_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(state);\nBEGIN\n -- A non-orderable (op-less) candidate never replaces the running extremum.\n IF value_ope IS NULL THEN\n RETURN state;\n END IF;\n -- Adopt the candidate when the running extremum is itself non-orderable\n -- (e.g. an op-less STRICT seed) or strictly greater.\n IF state_ope IS NULL OR value_ope < state_ope THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate over public.eql_v3_jsonb_entry.\n--! @param input public.eql_v3_jsonb_entry\n--! @return public.eql_v3_jsonb_entry The entry with the smallest CLLW OPE term.\nCREATE AGGREGATE eql_v3.min(public.eql_v3_jsonb_entry) (\n sfunc = eql_v3_internal.jsonb_entry_min_sfunc,\n stype = public.eql_v3_jsonb_entry,\n combinefunc = eql_v3_internal.jsonb_entry_min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_jsonb_entry.\n--!\n--! Keeps whichever orderable entry has the greater CLLW OPE term. `op`-less\n--! entries are skipped, mirroring `jsonb_entry_min_sfunc` (see the file @note).\n--!\n--! @param state public.eql_v3_jsonb_entry Running extremum.\n--! @param value public.eql_v3_jsonb_entry Candidate entry.\n--! @return public.eql_v3_jsonb_entry The greater orderable entry by `ord_term`.\nCREATE FUNCTION eql_v3_internal.jsonb_entry_max_sfunc(\n state public.eql_v3_jsonb_entry,\n value public.eql_v3_jsonb_entry\n)\nRETURNS public.eql_v3_jsonb_entry\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nDECLARE\n value_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(value);\n state_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(state);\nBEGIN\n -- A non-orderable (op-less) candidate never replaces the running extremum.\n IF value_ope IS NULL THEN\n RETURN state;\n END IF;\n -- Adopt the candidate when the running extremum is itself non-orderable\n -- (e.g. an op-less STRICT seed) or strictly lesser.\n IF state_ope IS NULL OR value_ope > state_ope THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate over public.eql_v3_jsonb_entry.\n--! @param input public.eql_v3_jsonb_entry\n--! @return public.eql_v3_jsonb_entry The entry with the largest CLLW OPE term.\nCREATE AGGREGATE eql_v3.max(public.eql_v3_jsonb_entry) (\n sfunc = eql_v3_internal.jsonb_entry_max_sfunc,\n stype = public.eql_v3_jsonb_entry,\n combinefunc = eql_v3_internal.jsonb_entry_max_sfunc,\n parallel = safe\n);\n--! @file pin_search_path_v3.sql\n--! @brief Post-install: pin search_path on every eql_v3.* function.\n--!\n--! Appended verbatim by `tasks/build.sh` to the end of the v3-only release\n--! artifact, AFTER all src/v3/**/*.sql files have been concatenated. It lives\n--! outside src/ so it stays out of the dependency graph.\n--!\n--! Iterates over functions in the `eql_v3` and `eql_v3_internal` schemas and\n--! applies a fixed `search_path` via `ALTER FUNCTION ... SET search_path = ...`,\n--! satisfying Supabase splinter's `function_search_path_mutable` lint.\n--!\n--! @note A SET clause disables SQL-function inlining. The inline-critical SEM\n--! helpers (ore_block_256_*, ope_cllw, hmac_256, bloom_filter over\n--! jsonb) and the encrypted-domain family (recognised structurally,\n--! including public user-column domains) are deliberately left\n--! unpinned.\n--! @see tasks/test/splinter.sh\n--! @see tasks/build.sh\n\nDO $$\nDECLARE\n fn_oid oid;\n inline_critical_oids oid[];\n jsonb_oid oid;\nBEGIN\n SELECT t.oid INTO jsonb_oid\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n WHERE n.nspname = 'pg_catalog' AND t.typname = 'jsonb';\n\n IF jsonb_oid IS NULL THEN\n RAISE EXCEPTION 'pin_search_path_v3: type pg_catalog.jsonb not found';\n END IF;\n\n -- eql_v3 SEM index-term functions that must stay inlinable for\n -- functional-index matching (no SET, IMMUTABLE). Mirrors the eql_v3 clause\n -- in the legacy combined pin_search_path.sql.\n SELECT pg_catalog.array_agg(p.oid) INTO inline_critical_oids\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n WHERE n.nspname = ANY(eql_v3_internal.owned_schemas())\n AND (\n (p.pronargs = 2\n AND p.proname IN ('ore_block_256_eq', 'ore_block_256_neq',\n 'ore_block_256_lt', 'ore_block_256_lte',\n 'ore_block_256_gt', 'ore_block_256_gte'))\n -- The CLLW-OPE surface is the extractor alone: eql_v3_internal.ope_cllw is a\n -- domain over bytea (native comparison operators and btree opclass),\n -- so there are no ope-specific comparison functions to keep inlinable.\n OR (p.pronargs = 1\n AND p.proname = 'ope_cllw'\n AND p.proargtypes[0] = jsonb_oid)\n OR (p.pronargs = 1\n AND p.proname = 'hmac_256'\n AND p.proargtypes[0] = jsonb_oid)\n OR (p.pronargs = 1\n AND p.proname = 'bloom_filter'\n AND p.proargtypes[0] = jsonb_oid)\n );\n\n FOR fn_oid IN\n SELECT p.oid\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n WHERE n.nspname = ANY(eql_v3_internal.owned_schemas())\n AND p.prokind IN ('f', 'w')\n AND NOT EXISTS (\n SELECT 1 FROM pg_catalog.unnest(coalesce(p.proconfig, '{}'::text[])) c\n WHERE c LIKE 'search_path=%'\n )\n AND NOT (p.oid = ANY (coalesce(inline_critical_oids, '{}'::oid[])))\n -- Encrypted-domain family — structural skip: LANGUAGE sql, IMMUTABLE,\n -- taking >=1 argument typed as a jsonb-backed DOMAIN. User-column\n -- domains live in public; implementation-only domains live in EQL-owned\n -- schemas.\n AND NOT (\n p.prolang = (SELECT l.oid FROM pg_catalog.pg_language l\n WHERE l.lanname = 'sql')\n AND p.provolatile = 'i'\n AND EXISTS (\n SELECT 1\n FROM pg_catalog.unnest(p.proargtypes::oid[]) AS arg(typ)\n JOIN pg_catalog.pg_type dt ON dt.oid = arg.typ\n JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace\n WHERE dt.typtype = 'd'\n AND dt.typbasetype = jsonb_oid\n AND (\n dn.nspname = 'public'\n OR dn.nspname = ANY(eql_v3_internal.owned_schemas())\n )\n )\n )\n -- Comment-marker fallback for hand-written inline-critical extension\n -- functions that take no domain argument.\n AND NOT EXISTS (\n SELECT 1 FROM pg_catalog.pg_description d\n WHERE d.objoid = p.oid\n AND d.classoid = 'pg_catalog.pg_proc'::regclass\n AND d.description LIKE 'eql-inline-critical%'\n )\n LOOP\n EXECUTE pg_catalog.format(\n 'ALTER FUNCTION %s SET search_path = pg_catalog, extensions, public',\n fn_oid::regprocedure\n );\n END LOOP;\nEND $$;\n" + "sql": "--! @file v3/schema.sql\n--! @brief EQL v3 schema creation\n--!\n--! Creates the eql_v3 and eql_v3_internal schemas. User-column encrypted\n--! domains (public.eql_v3_integer, public.eql_v3_bigint, and future scalar domains) live in\n--! public so application tables survive EQL schema uninstall. eql_v3 is the\n--! public API for index-term extractors, aggregates, AND the operator-backing\n--! comparison wrappers\n--! (eq/neq/lt/lte/gt/gte/contains/contained_by, plus the jsonb containment\n--! helpers). The wrappers are public because they are the function-form\n--! equivalent of every supported operator: platforms without operator support\n--! (Supabase/PostgREST calls functions, not operators) invoke them by name.\n--! eql_v3_internal houses INTERNAL implementation objects only: the\n--! searchable-encrypted-metadata (SEM) index-term types\n--! (eql_v3_internal.hmac_256, eql_v3_internal.ore_block_256) and their support\n--! functions, the unsupported-operator blockers (which only raise), and the\n--! aggregate state functions. Together the two schemas are self-contained —\n--! they own every type they need and have no runtime dependency on another EQL\n--! schema.\n--!\n--! Drops existing schema if present to support clean reinstallation.\n--!\n--! @warning DROP SCHEMA CASCADE will remove all objects in the schema\n--! @note eql_v3 is a new, additional schema for the encrypted-domain families.\n--!\n--! @note DESIGN DECISION — EQL never grants permissions automatically. This\n--! installer issues no GRANT (or REVOKE) on eql_v3 or eql_v3_internal:\n--! access is strictly opt-in. A deployment that exposes EQL to\n--! non-owner roles (e.g. Supabase `authenticated`/`anon` via PostgREST)\n--! must explicitly `GRANT USAGE ON SCHEMA eql_v3` and `GRANT EXECUTE` on\n--! the functions it needs. This is intentional least-privilege, not an\n--! oversight — see docs/reference/permissions.md. eql_v3_internal is not\n--! part of the public API and normally needs no grant; where a caller\n--! reaches an internal object indirectly (a public operator/aggregate\n--! whose backing state-fn/blocker lives there), grant it deliberately.\n\n--! @brief Drop existing EQL v3 schema\n--! @warning CASCADE will drop all dependent objects\nDROP SCHEMA IF EXISTS eql_v3 CASCADE;\n\n--! @brief Create EQL v3 schema\n--! @note Houses the encrypted-domain type families\nCREATE SCHEMA eql_v3;\n\n--! @brief Drop existing EQL v3 internal schema\n--! @warning CASCADE will drop all dependent objects\nDROP SCHEMA IF EXISTS eql_v3_internal CASCADE;\n\n--! @brief Create EQL v3 internal implementation schema\n--! @note Houses INTERNAL eql_v3 objects only: SEM index-term TYPES + their\n--! support/constructor/comparator functions, the unsupported-operator\n--! blockers (which only raise), the aggregate state functions, and the\n--! SteVec CHECK validators. Kept out of the public `eql_v3` surface so\n--! internal index-term TYPES do not clutter the Supabase Table Builder\n--! type picker. NOTE: the operator-backing comparison *wrappers* are NOT\n--! here — they are public in `eql_v3` so every operator has a callable\n--! function equivalent for platforms without operator support.\nCREATE SCHEMA eql_v3_internal;\nCOMMENT ON SCHEMA eql_v3_internal IS\n 'EQL internal implementation detail; not a public API surface.';\n\n--! @brief Schemas owned by the eql_v3 surface\n--!\n--! Single source of truth for tooling that must enumerate every schema this\n--! installer owns (`eql_v3.lints()`, `tasks/pin_search_path_v3.sql`), so a\n--! future third eql_v3-family schema is one array literal to edit instead of\n--! a hardcoded schema-name predicate repeated at every call site. Keep in\n--! sync with the `SCHEMA` / `INTERNAL_SCHEMA` constants in\n--! `crates/eql-codegen/src/consts.rs` — those drive what codegen emits into\n--! each schema; this drives what tooling scans across both.\n--!\n--! @return name[] The schema names eql_v3 owns (public + internal).\nCREATE FUNCTION eql_v3_internal.owned_schemas()\n RETURNS name[]\n LANGUAGE sql IMMUTABLE PARALLEL SAFE\nAS $$\n SELECT ARRAY['eql_v3', 'eql_v3_internal']::name[]\n$$;\n\n--! @file v3/crypto.sql\n--! @brief PostgreSQL pgcrypto extension enablement (eql_v3 fork)\n--!\n--! Forked from src/crypto.sql (design D8) so the entire eql_v3 dependency\n--! closure lives under src/v3/. Enables the pgcrypto extension which provides\n--! cryptographic functions used by the eql_v3 ORE comparison path.\n--!\n--! Installs pgcrypto into the `extensions` schema (Supabase convention) to\n--! avoid the `extension_in_public` lint. Every EQL function that uses pgcrypto\n--! has `pg_catalog, extensions, public` on its `search_path`, so a pre-existing\n--! install in `public` keeps working — and a pre-existing install anywhere else\n--! will be rejected at install time. The body is idempotent\n--! (`CREATE SCHEMA IF NOT EXISTS`, `pg_extension` guard), so running it\n--! alongside the eql_v2 copy in a combined install is safe.\n--!\n--! @note pgcrypto provides functions like digest(), hmac(), gen_random_bytes()\n\n--! @brief Create extensions schema (Supabase convention)\nCREATE SCHEMA IF NOT EXISTS extensions;\n\n--! @brief Enable pgcrypto extension and validate its schema\nDO $$\nDECLARE\n pgcrypto_schema name;\nBEGIN\n IF NOT EXISTS (SELECT 1 FROM pg_extension WHERE extname = 'pgcrypto') THEN\n CREATE EXTENSION pgcrypto WITH SCHEMA extensions;\n END IF;\n\n SELECT n.nspname INTO pgcrypto_schema\n FROM pg_extension e\n JOIN pg_namespace n ON n.oid = e.extnamespace\n WHERE e.extname = 'pgcrypto';\n\n IF pgcrypto_schema = 'extensions' THEN\n -- expected location, nothing to say\n NULL;\n ELSIF pgcrypto_schema = 'public' THEN\n RAISE NOTICE\n 'pgcrypto is installed in the `public` schema. EQL works against this layout, '\n 'but Supabase splinter will flag it as `extension_in_public`. Move it with: '\n 'ALTER EXTENSION pgcrypto SET SCHEMA extensions';\n ELSE\n RAISE EXCEPTION\n 'pgcrypto is installed in schema `%`, which is not on the EQL function search_path '\n '(pg_catalog, extensions, public). EQL cryptographic operations would fail at '\n 'runtime. Relocate the extension before installing EQL: '\n 'ALTER EXTENSION pgcrypto SET SCHEMA extensions',\n pgcrypto_schema;\n END IF;\nEND $$;\n\n--! @file v3/common.sql\n--! @brief Common utility functions for the self-contained eql_v3 surface.\n--!\n--! Forked from src/common.sql (design D7) so the eql_v3 ORE constructor owns the\n--! one transitive helper it needs without reaching into another schema. The\n--! eql_v2 original is unchanged.\n\n--! @brief Convert JSONB hex array to bytea array\n--! @internal\n--!\n--! Converts a JSONB array of hex-encoded strings into a PostgreSQL bytea array.\n--! Used for deserializing binary data (like ORE terms) from JSONB storage.\n--!\n--! @param val jsonb JSONB array of hex-encoded strings\n--! @return bytea[] Array of decoded binary values\n--!\n--! @note Returns NULL if input is JSON null\n--! @note Each array element is hex-decoded to bytea\n--! @note plpgsql, not `LANGUAGE sql` (issue #353). This helper's ONLY caller\n--! chain is `ore_block_256(val)` -> `jsonb_array_to_ore_block_256(val)` —\n--! both reached exclusively from plpgsql and btree operator-class support\n--! contexts, where SQL functions can NEVER be inlined and instead pay the\n--! per-call SQL-function executor (measured 3.5x the per-call cost of the\n--! plpgsql equivalent; +43% on ORE ordered scans end-to-end). plpgsql\n--! caches its plan across calls. The non-array guard preserves the v3\n--! behaviour (returns NULL for a non-array scalar; the v2 plpgsql original\n--! raised) — both callers only ever pass an array or JSON null (`val->'ob'`),\n--! so the divergence stays unreachable in practice; JSON null and empty\n--! array still return NULL exactly as before.\nCREATE FUNCTION eql_v3_internal.jsonb_array_to_bytea_array(val jsonb)\nRETURNS bytea[]\n IMMUTABLE\nAS $$\nDECLARE\n result bytea[];\nBEGIN\n IF val IS NULL OR jsonb_typeof(val) != 'array' THEN\n RETURN NULL;\n END IF;\n SELECT array_agg(decode(value::text, 'hex')::bytea)\n INTO result\n FROM jsonb_array_elements_text(val) AS value;\n RETURN result;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @internal Keep the inline-critical marker so the post-install\n--! pin_search_path pass leaves this unpinned: a `SET search_path` clause on a\n--! plpgsql function forces per-call configuration switching — measurable on a\n--! helper invoked per compared value in the ore_block_256 opclass hot path.\n--! It takes a bare `jsonb` arg (not a jsonb-backed encrypted DOMAIN), so the\n--! structural skip in tasks/pin_search_path_v3.sql does not recognise it;\n--! this marker is the documented manual opt-in.\nCOMMENT ON FUNCTION eql_v3_internal.jsonb_array_to_bytea_array(jsonb) IS\n 'eql-inline-critical: per-encrypted-value ORE opclass-path helper; must stay unpinned (SET search_path adds per-call overhead)';\n\n--! @file v3/sem/ore_block_256/types.sql\n--! @brief ORE block index-term types (eql_v3 SEM).\n--!\n--! Self-contained eql_v3 copies of the Order-Revealing Encryption block types\n--! (design D1/D3). The eql_v2 originals are unchanged.\n\n--! @brief ORE block term type for Order-Revealing Encryption\n--!\n--! Composite type representing a single ORE block term. Stores encrypted data\n--! as bytea that enables range comparisons without decryption.\nCREATE TYPE eql_v3_internal.ore_block_256_term AS (\n bytes bytea\n);\n\n\n--! @brief ORE block index term type for range queries\n--!\n--! Composite type containing an array of ORE block terms. The array is stored\n--! in the 'ob' field of encrypted data payloads.\n--!\n--! @note Transient type used only during query execution.\nCREATE TYPE eql_v3_internal.ore_block_256 AS (\n terms eql_v3_internal.ore_block_256_term[]\n);\n\n--! @file v3/sem/ore_block_256/functions.sql\n--! @brief ORE block construction, extraction, and comparison (eql_v3 SEM).\n--!\n--! jsonb-only subset of src/ore_block_u64_8_256/functions.sql. The\n--! encrypted-column overloads are omitted; the helper jsonb_array_to_bytea_array\n--! and pgcrypto encrypt() are reached via the forked src/v3/common.sql and\n--! src/v3/crypto.sql so the whole closure stays under src/v3. (Doc comments\n--! deliberately avoid naming eql_v2 symbols so the self-containment grep stays\n--! clean.)\n\n--! @brief Convert JSONB array to ORE block composite type\n--! @internal\n--! @param val jsonb Array of hex-encoded ORE block terms\n--! @return eql_v3_internal.ore_block_256 ORE block composite, or NULL if input is null\n--! @note plpgsql, not `LANGUAGE sql` (issue #353). The sole caller\n--! (`ore_block_256`) is itself plpgsql, so this function is NEVER reached\n--! from an inlinable context — as `LANGUAGE sql` it paid the per-call\n--! SQL-function executor on every compared value in the opclass hot path\n--! (measured: +43% on ORE ordered scans vs the plpgsql form). The\n--! non-array guard preserves the v3 behaviour (returns NULL for a\n--! non-array scalar; the v2 plpgsql original raised); the caller only\n--! reaches this when `has_ore_block_256(val)` is true, which requires\n--! `val->'ob'` to be a JSON array, so that branch stays unreachable.\n--! An empty array (`ob: []`, what encrypting the empty string `\"\"` produces)\n--! yields a non-NULL composite with an EMPTY `terms` array — NOT NULL terms.\n--! The `COALESCE` is load-bearing: `array_agg` over zero rows returns NULL, and\n--! NULL terms make the comparator return NULL (so an empty-text row silently\n--! drops out of ordered queries). An empty array instead engages the\n--! comparator's `cardinality = 0` guard, which sorts empty BEFORE every\n--! non-empty term. See issue #262 (pinned by T7).\nCREATE FUNCTION eql_v3_internal.jsonb_array_to_ore_block_256(val jsonb)\nRETURNS eql_v3_internal.ore_block_256\n IMMUTABLE\nAS $$\nDECLARE\n terms eql_v3_internal.ore_block_256_term[];\nBEGIN\n IF val IS NULL OR jsonb_typeof(val) != 'array' THEN\n RETURN NULL;\n END IF;\n SELECT array_agg(ROW(b)::eql_v3_internal.ore_block_256_term)\n INTO terms\n FROM unnest(eql_v3_internal.jsonb_array_to_bytea_array(val)) AS b;\n -- plpgsql pitfall: `SELECT INTO ` assigns the\n -- select-list columns FIELD-WISE into the variable — return the row\n -- constructor directly instead. The COALESCE stays load-bearing for the\n -- empty-`ob` case (issue #262): array_agg over zero rows yields NULL, and\n -- the comparator needs an EMPTY terms array, not NULL terms.\n RETURN ROW(COALESCE(terms, ARRAY[]::eql_v3_internal.ore_block_256_term[]))::eql_v3_internal.ore_block_256;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @internal Keep the inline-critical marker so the post-install\n--! pin_search_path pass leaves this unpinned: a `SET search_path` clause on a\n--! plpgsql function forces per-call configuration switching — measurable on a\n--! helper invoked per compared value in the ore_block_256 opclass hot path.\n--! It takes a bare `jsonb` arg (not a jsonb-backed encrypted DOMAIN), so the\n--! structural skip in tasks/pin_search_path_v3.sql does not recognise it;\n--! this marker is the documented manual opt-in.\nCOMMENT ON FUNCTION eql_v3_internal.jsonb_array_to_ore_block_256(jsonb) IS\n 'eql-inline-critical: per-encrypted-value ORE opclass-path helper; must stay unpinned (SET search_path adds per-call overhead)';\n\n\n--! @brief Extract ORE block index term from JSONB payload\n--! @param val jsonb containing encrypted EQL payload\n--! @return eql_v3_internal.ore_block_256 ORE block index term\n--! @throws Exception if 'ob' field is missing\nCREATE FUNCTION eql_v3_internal.ore_block_256(val jsonb)\n RETURNS eql_v3_internal.ore_block_256\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n -- Declared STRICT: PostgreSQL returns NULL for a NULL argument without\n -- entering the body, so no explicit `val IS NULL` guard is needed.\n IF eql_v3_internal.has_ore_block_256(val) THEN\n RETURN eql_v3_internal.jsonb_array_to_ore_block_256(val->'ob');\n END IF;\n RAISE 'Expected an ore index (ob) value in json: %', val;\n END;\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Check if JSONB payload contains an ORE block index term\n--! @param val jsonb containing encrypted EQL payload\n--! @return boolean True only if the 'ob' field is present and is a JSON array\n--! @note A well-formed ORE index term is always a JSON array of block terms, so\n--! this guard treats a present-but-non-array `ob` (a scalar or object) as\n--! absent. That makes the extractor `ore_block_256(val)` RAISE on a\n--! structurally invalid `ob` payload at the boundary instead of silently\n--! degrading it to a NULL index term in `jsonb_array_to_ore_block_256`. The\n--! previous `val ->> 'ob' IS NOT NULL` form stringified scalars/objects and so\n--! reported them as present. `{}` (absent `ob`) and `{\"ob\": null}` (JSON null)\n--! both remain `false`.\nCREATE FUNCTION eql_v3_internal.has_ore_block_256(val jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n RETURN COALESCE(jsonb_typeof(val -> 'ob') = 'array', false);\n END;\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Compare two ORE block terms using cryptographic comparison\n--! @internal\n--! @param a eql_v3_internal.ore_block_256_term First ORE term\n--! @param b eql_v3_internal.ore_block_256_term Second ORE term\n--! @return integer -1 if a < b, 0 if a = b, 1 if a > b\n--! @throws Exception if ciphertexts are different lengths\n--! @note Marked `IMMUTABLE` (the three `compare_ore_block_256_term(s)`\n--! overloads all are). This deliberately diverges from the v2 originals,\n--! which carry no volatility marker and so default to `VOLATILE`. The\n--! comparison is deterministic — its only crypto call, pgcrypto `encrypt()`,\n--! is itself `IMMUTABLE STRICT PARALLEL SAFE` — so `IMMUTABLE` lets the\n--! planner fold/cache these in ordering and index contexts. NOT `STRICT`:\n--! the NULL-handling branches below are load-bearing for the array overload.\nCREATE FUNCTION eql_v3_internal.compare_ore_block_256_term(a eql_v3_internal.ore_block_256_term, b eql_v3_internal.ore_block_256_term)\n RETURNS integer\n IMMUTABLE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n eq boolean := true;\n unequal_block smallint := 0;\n hash_key bytea;\n data_block bytea;\n encrypt_block bytea;\n target_block bytea;\n\n left_block_size CONSTANT smallint := 16;\n right_block_size CONSTANT smallint := 32;\n\n -- Block count N is DERIVED from the ciphertext length, not hardcoded to 8.\n -- Wire format per term:\n -- [ N PRP bytes ][ N*16B left blocks ][ 16B hash key ][ N*32B right blocks ]\n -- octet_length = 17*N + 16 + 32*N = 49*N + 16 => N = (octet_length - 16) / 49\n -- This serves integer (N=8, 408B), timestamp (N=12, 604B), and numeric\n -- (N=14, 702B) with one comparator.\n n integer;\n left_offset integer; -- ordinal offset of the first left block (1 + N PRP bytes)\n right_offset integer; -- ordinal start of the right CT (= total left CT length = 17*N)\n\n indicator smallint := 0;\n BEGIN\n IF a IS NULL AND b IS NULL THEN\n RETURN 0;\n END IF;\n\n IF a IS NULL THEN\n RETURN -1;\n END IF;\n\n IF b IS NULL THEN\n RETURN 1;\n END IF;\n\n IF bit_length(a.bytes) != bit_length(b.bytes) THEN\n RAISE EXCEPTION 'Ciphertexts are different lengths';\n END IF;\n\n -- Well-formedness: length must be exactly 49*N + 16 for some N >= 1. The\n -- modulo alone is insufficient -- a 16-byte term passes (16 - 16) % 49 = 0\n -- and derives N = 0, which would fall through to the all-blocks-equal path\n -- and return 0 instead of raising. The `<= 16` clause is load-bearing.\n IF octet_length(a.bytes) <= 16 OR (octet_length(a.bytes) - 16) % 49 != 0 THEN\n RAISE EXCEPTION 'Malformed ORE term: % bytes', octet_length(a.bytes);\n END IF;\n\n n := (octet_length(a.bytes) - 16) / 49;\n left_offset := 1 + n; -- left blocks begin right after the N PRP bytes\n right_offset := 17 * n; -- right CT begins right after the 17*N-byte left CT\n\n FOR block IN 0..n-1 LOOP\n -- Compare each PRP byte (the first N bytes) and its 16-byte left block.\n IF\n substr(a.bytes, 1 + block, 1) != substr(b.bytes, 1 + block, 1)\n OR substr(a.bytes, left_offset + left_block_size * block, left_block_size) != substr(b.bytes, left_offset + left_block_size * block, left_block_size)\n THEN\n IF eq THEN\n unequal_block := block;\n END IF;\n eq = false;\n END IF;\n END LOOP;\n\n IF eq THEN\n RETURN 0::integer;\n END IF;\n\n -- Hash key is the IV from the right CT of b.\n hash_key := substr(b.bytes, right_offset + 1, 16);\n\n -- First right block is at right_offset + nonce_size (ordinally indexed).\n target_block := substr(b.bytes, right_offset + 17 + (unequal_block * right_block_size), right_block_size);\n\n data_block := substr(a.bytes, left_offset + (left_block_size * unequal_block), left_block_size);\n\n encrypt_block := encrypt(data_block::bytea, hash_key::bytea, 'aes-ecb');\n\n indicator := (\n get_bit(\n encrypt_block,\n 0\n ) + get_bit(target_block, get_byte(a.bytes, unequal_block))) % 2;\n\n IF indicator = 1 THEN\n RETURN 1::integer;\n ELSE\n RETURN -1::integer;\n END IF;\n END;\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Compare arrays of ORE block terms recursively\n--! @internal\n--! @param a eql_v3_internal.ore_block_256_term[] First array\n--! @param b eql_v3_internal.ore_block_256_term[] Second array\n--! @return integer -1/0/1, or NULL if either array is NULL\nCREATE FUNCTION eql_v3_internal.compare_ore_block_256_terms(a eql_v3_internal.ore_block_256_term[], b eql_v3_internal.ore_block_256_term[])\nRETURNS integer\n IMMUTABLE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n cmp_result integer;\n BEGIN\n IF a IS NULL OR b IS NULL THEN\n RETURN NULL;\n END IF;\n\n IF cardinality(a) = 0 AND cardinality(b) = 0 THEN\n RETURN 0;\n END IF;\n\n IF (cardinality(a) = 0) AND cardinality(b) > 0 THEN\n RETURN -1;\n END IF;\n\n IF cardinality(a) > 0 AND (cardinality(b) = 0) THEN\n RETURN 1;\n END IF;\n\n cmp_result := eql_v3_internal.compare_ore_block_256_term(a[1], b[1]);\n\n IF cmp_result = 0 THEN\n RETURN eql_v3_internal.compare_ore_block_256_terms(a[2:array_length(a,1)], b[2:array_length(b,1)]);\n END IF;\n\n RETURN cmp_result;\n END\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Compare ORE block composite types\n--! @internal\n--! @param a eql_v3_internal.ore_block_256 First ORE block\n--! @param b eql_v3_internal.ore_block_256 Second ORE block\n--! @return integer -1/0/1\nCREATE FUNCTION eql_v3_internal.compare_ore_block_256_terms(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS integer\n IMMUTABLE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n RETURN eql_v3_internal.compare_ore_block_256_terms(a.terms, b.terms);\n END\n$$ LANGUAGE plpgsql;\n\n--! @file v3/sem/ope_cllw/types.sql\n--! @brief CLLW OPE index term type for scalar range queries (eql_v3 SEM)\n--!\n--! Domain type representing a CLLW (Copyless Logarithmic Width)\n--! Order-Preserving Encryption term. The ciphertext is stored hex-encoded in\n--! the `op` field of encrypted scalar payloads (the `_ord_ope` domains); the\n--! domain carries the hex-decoded bytes.\n--!\n--! A DOMAIN over bytea, not a composite: the OPE ciphertext is\n--! order-preserving under plain byte comparison, so the domain inherits\n--! bytea's native comparison operators and DEFAULT btree operator class\n--! outright — no hand-written operators, comparator, or operator class (the\n--! same pattern as eql_v3_internal.hmac_256 over text). That keeps the whole\n--! comparison chain inlinable, so a functional btree index on\n--! `eql_v3.ord_term(col)` engages structurally for the `_ord` / `_ord_ope`\n--! domains' comparison operators. Contrast eql_v3_internal.ore_cllw (`oc`), the SteVec\n--! CLLW-*ORE* composite compared by a custom per-byte protocol.\n--!\n--! @note Transient type used only during query execution.\n--! @see eql_v3_internal.ope_cllw\nCREATE DOMAIN eql_v3_internal.ope_cllw AS bytea;\n\n--! @file v3/sem/hmac_256/types.sql\n--! @brief HMAC-SHA256 index term type (eql_v3 SEM)\n--!\n--! Domain type representing HMAC-SHA256 hash values. Used for exact-match\n--! encrypted searches. The hash is stored in the 'hm' field of encrypted data\n--! payloads. Self-contained eql_v3 copy (design D1/D3); the eql_v2 original is\n--! unchanged.\n--!\n--! @note Transient type used only during query execution.\nCREATE DOMAIN eql_v3_internal.hmac_256 AS text;\n\n--! @file v3/sem/bloom_filter/types.sql\n--! @brief Self-contained eql_v3 Bloom-filter SEM index-term type.\n\n--! @brief Bloom-filter index term: a bit array stored as smallint[].\n--!\n--! Backs the `match` capability (`@>` / `<@`) on `eql_v3_internal.text_match`. The\n--! filter is read from the `bf` field of an encrypted jsonb payload. Native\n--! `smallint[]` array-containment (`@>`/`<@`) is inherited through the domain,\n--! so this type needs no custom operators.\n--!\n--! @note Self-contained: references no eql_v2 symbol.\nCREATE DOMAIN eql_v3_internal.bloom_filter AS smallint[];\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/timestamp/timestamp_types.sql\n--! @brief Encrypted-domain types for timestamp.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_timestamp.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp IS 'EQL encrypted timestamp (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_eq IS 'EQL encrypted timestamp (equality)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_ord_ore IS 'EQL encrypted timestamp (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_ord IS 'EQL encrypted timestamp (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_ord_ope IS 'EQL encrypted timestamp (equality, ordering)';\nEND\n$$;\n\n--! @file v3/scalars/functions.sql\n--! @brief Shared blocker helper for the eql_v3 encrypted-domain families.\n--!\n--! Per-domain wrapper functions live in src/v3/scalars//.\n--! Blockers in those files delegate to encrypted_domain_unsupported_bool\n--! so every domain raises a uniform domain-specific error rather than\n--! letting an unsupported operator fall through to native jsonb\n--! behaviour.\n\n--! @brief Shared blocker helper. Raises 'operator X is not supported\n--! for TYPE' so unsupported domain operators surface a clear\n--! error rather than fall through to native jsonb behaviour.\n--! @param type_name Domain type name (eql_v3.*)\n--! @param operator_name Operator symbol (=, <, @>, ->, etc.)\n--! @return boolean (never returns; always raises)\nCREATE FUNCTION eql_v3_internal.encrypted_domain_unsupported_bool(type_name text, operator_name text)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RAISE EXCEPTION 'operator % is not supported for %', operator_name, type_name;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Shared blocker helper returning jsonb. Identical to\n--! encrypted_domain_unsupported_bool but typed for blockers shadowing\n--! native operators whose result is jsonb (#>, -, #-, ||), so composed\n--! expressions resolve and the body raises rather than failing earlier\n--! with a misleading 'operator does not exist' on a boolean result.\n--! @param type_name Domain type name (eql_v3.*)\n--! @param operator_name Operator symbol (#>, -, #-, ||, etc.)\n--! @return jsonb (never returns; always raises)\nCREATE FUNCTION eql_v3_internal.encrypted_domain_unsupported_jsonb(type_name text, operator_name text)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RAISE EXCEPTION 'operator % is not supported for %', operator_name, type_name;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Shared blocker helper returning text. Identical to\n--! encrypted_domain_unsupported_bool but typed for blockers shadowing\n--! the native #>> operator whose result is text.\n--! @param type_name Domain type name (eql_v3.*)\n--! @param operator_name Operator symbol (#>>)\n--! @return text (never returns; always raises)\nCREATE FUNCTION eql_v3_internal.encrypted_domain_unsupported_text(type_name text, operator_name text)\nRETURNS text\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RAISE EXCEPTION 'operator % is not supported for %', operator_name, type_name;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @file v3/sem/ore_block_256/operators.sql\n--! @brief Comparison operators on eql_v3_internal.ore_block_256.\n--!\n--! The six backing functions are inlinable single-statement SQL so the planner\n--! can fold the eql_v3 comparison wrappers through to functional-index matching.\n\n--! @brief Equality backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the ORE blocks are equal\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_eq(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) = 0\n$$;\n\n--! @brief Not-equal backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the ORE blocks are not equal\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_neq(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) <> 0\n$$;\n\n--! @brief Less-than backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is less than the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_lt(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) = -1\n$$;\n\n--! @brief Less-than-or-equal backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is less than or equal to the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_lte(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) != 1\n$$;\n\n--! @brief Greater-than backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is greater than the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_gt(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) = 1\n$$;\n\n--! @brief Greater-than-or-equal backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is greater than or equal to the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_gte(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) != -1\n$$;\n\n\n--! @brief = operator for ORE block types\n--!\n--! COMMUTATOR is the operator itself: equality is symmetric. Required for the\n--! MERGES flag — without it the planner raises \"could not find commutator\" the\n--! first time an ore_block equality is used as a join qual (e.g. via the inlined\n--! eql_v3_internal._ord_ore equality wrappers).\nCREATE OPERATOR public.= (\n FUNCTION=eql_v3_internal.ore_block_256_eq,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.=),\n NEGATOR = OPERATOR(public.<>),\n RESTRICT = eqsel,\n JOIN = eqjoinsel,\n HASHES,\n MERGES\n);\n\n--! @brief <> operator for ORE block types\nCREATE OPERATOR public.<> (\n FUNCTION=eql_v3_internal.ore_block_256_neq,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.<>),\n NEGATOR = OPERATOR(public.=),\n RESTRICT = neqsel,\n JOIN = neqjoinsel,\n MERGES\n);\n\n--! @brief > operator for ORE block types\nCREATE OPERATOR public.> (\n FUNCTION=eql_v3_internal.ore_block_256_gt,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.<),\n NEGATOR = OPERATOR(public.<=),\n RESTRICT = scalargtsel,\n JOIN = scalargtjoinsel\n);\n\n--! @brief < operator for ORE block types\nCREATE OPERATOR public.< (\n FUNCTION=eql_v3_internal.ore_block_256_lt,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.>),\n NEGATOR = OPERATOR(public.>=),\n RESTRICT = scalarltsel,\n JOIN = scalarltjoinsel\n);\n\n--! @brief <= operator for ORE block types\nCREATE OPERATOR public.<= (\n FUNCTION=eql_v3_internal.ore_block_256_lte,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.>=),\n NEGATOR = OPERATOR(public.>),\n RESTRICT = scalarlesel,\n JOIN = scalarlejoinsel\n);\n\n--! @brief >= operator for ORE block types\nCREATE OPERATOR public.>= (\n FUNCTION=eql_v3_internal.ore_block_256_gte,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.<=),\n NEGATOR = OPERATOR(public.<),\n RESTRICT = scalargesel,\n JOIN = scalargejoinsel\n);\n\n--! @file v3/sem/ope_cllw/functions.sql\n--! @brief CLLW OPE index-term extraction from a jsonb payload (eql_v3 SEM).\n\n--! @brief Extract CLLW OPE index term from JSONB payload\n--!\n--! Returns the CLLW OPE ciphertext from the `op` field of an encrypted scalar\n--! payload, hex-decoded to the bytea-backed eql_v3_internal.ope_cllw domain.\n--!\n--! Inlinable single-statement SQL — the body is a strict expression of the\n--! argument (`->>` and `decode` are both STRICT), so the planner folds this\n--! into the calling query and functional btree indexes built on\n--! `eql_v3.ord_term(col)` (which calls this) engage structurally, the\n--! same way the hmac_256 equality chain does.\n--!\n--! **Missing-`op` semantics**: `val ->> 'op'` is NULL when `op` is absent and\n--! the strict chain propagates it, so the extractor returns SQL NULL and\n--! btree's NULL handling filters those rows from range queries.\n--!\n--! @param val jsonb containing encrypted EQL payload\n--! @return eql_v3_internal.ope_cllw Hex-decoded CLLW OPE term, or NULL when `op` is\n--! absent\nCREATE FUNCTION eql_v3_internal.ope_cllw(val jsonb)\n RETURNS eql_v3_internal.ope_cllw\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT decode(val ->> 'op', 'hex')::eql_v3_internal.ope_cllw\n$$;\n\nCOMMENT ON FUNCTION eql_v3_internal.ope_cllw(jsonb) IS\n 'eql-inline-critical: raw-jsonb CLLW OPE extractor; must stay inlinable (unpinned search_path)';\n\n--! @file v3/sem/hmac_256/functions.sql\n--! @brief HMAC-SHA256 index-term extraction from a jsonb payload (eql_v3 SEM).\n--!\n--! jsonb-only subset of src/hmac_256/functions.sql. The encrypted-column and\n--! ste_vec-entry overloads are intentionally omitted — the eql_v3 scalar\n--! domains extract from the jsonb payload directly via a cast to the domain.\n--! (Doc comments deliberately avoid naming eql_v2 symbols so the\n--! self-containment grep stays clean.)\n\n--! @brief Extract HMAC-SHA256 index term from JSONB payload\n--!\n--! Inlinable single-statement SQL — the planner can fold this into the calling\n--! query so functional hash/btree indexes built on `eql_v3_internal.eq_term(col)`\n--! (which calls this) engage structurally.\n--!\n--! @param val jsonb containing encrypted EQL payload\n--! @return eql_v3_internal.hmac_256 HMAC-SHA256 hash value, or NULL when `hm` is absent\nCREATE FUNCTION eql_v3_internal.hmac_256(val jsonb)\n RETURNS eql_v3_internal.hmac_256\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (val ->> 'hm')::eql_v3_internal.hmac_256\n$$;\n\n\n--! @brief Check if JSONB payload contains HMAC-SHA256 index term\n--!\n--! @param val jsonb containing encrypted EQL payload\n--! @return boolean True if 'hm' field is present and non-null\nCREATE FUNCTION eql_v3_internal.has_hmac_256(val jsonb)\n RETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (val ->> 'hm') IS NOT NULL\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/text/text_types.sql\n--! @brief Encrypted-domain types for text.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_text.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text IS 'EQL encrypted text (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_text_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_eq IS 'EQL encrypted text (equality)';\n\n --! @brief Encrypted domain public.eql_v3_text_match.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_match' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_match AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'bf'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_match IS 'EQL encrypted text (containment)';\n\n --! @brief Encrypted domain public.eql_v3_text_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_ord_ore IS 'EQL encrypted text (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_text_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_ord IS 'EQL encrypted text (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_text_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_ord_ope IS 'EQL encrypted text (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_text_search_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_search_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_search_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND VALUE ? 'bf'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_search_ore IS 'EQL encrypted text (equality, ordering, containment)';\n\n --! @brief Encrypted domain public.eql_v3_text_search.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_search' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_search AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE ? 'bf'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_search IS 'EQL encrypted text (equality, ordering, containment)';\nEND\n$$;\n\n--! @file v3/sem/bloom_filter/functions.sql\n--! @brief Extractor for the eql_v3 Bloom-filter SEM index term.\n--!\n--! jsonb-only subset of src/bloom_filter/functions.sql. The encrypted-column\n--! overloads are intentionally omitted — the eql_v3 scalar domains extract from\n--! the jsonb payload directly via a cast to the domain. (Doc comments\n--! deliberately avoid naming eql_v2 symbols so the self-containment grep stays\n--! clean.)\n\n--! @brief Test whether a jsonb payload carries a Bloom-filter (`bf`) term.\n--!\n--! @param val jsonb The encrypted payload.\n--! @return boolean True when the `bf` key is present and non-null.\n--!\n--! @internal Defined for parity with the eql_v3 SEM index-term predicates\n--! (`has_hmac_256` / `has_ore_block_256`); it is not currently called by\n--! the extractor below, which gates on value-shape inline, nor by the generated\n--! domain CHECK, which tests `bf` presence via the envelope-key skeleton. Kept\n--! as the canonical presence test for callers that need one.\nCREATE FUNCTION eql_v3_internal.has_bloom_filter(val jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n RETURN val ? 'bf' AND val ->> 'bf' IS NOT NULL;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract the Bloom-filter index term from a jsonb payload.\n--!\n--! Inlinable single-statement SQL — the planner can fold this into the calling\n--! query so the functional GIN index built on `eql_v3_internal.match_term(col)` (which\n--! calls this) engages structurally. Mirrors `eql_v3_internal.hmac_256(jsonb)`: no RAISE\n--! and no pinned `search_path`. Returns NULL when `bf` is absent or present but\n--! not a json array, rather than raising. The `text_match` domain CHECK\n--! guarantees the `bf` *key* is present but not that it is an array, so a\n--! non-array `bf` (e.g. `{\"bf\": null}`) can reach here even on a typed value;\n--! gating on `jsonb_typeof(...) = 'array'` returns NULL for that case — and for\n--! raw jsonb outside the domain — instead of erroring inside\n--! `jsonb_array_elements`. NULL, like the HMAC extractor, is the right answer. An\n--! empty `bf` array yields an empty filter (contains nothing, contained by\n--! everything), matching set-containment semantics.\n--!\n--! @param val jsonb The encrypted payload.\n--! @return eql_v3_internal.bloom_filter The `bf` array as a smallint[] domain value, or\n--! NULL when `bf` is absent or not a json array.\nCREATE FUNCTION eql_v3_internal.bloom_filter(val jsonb)\n RETURNS eql_v3_internal.bloom_filter\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT CASE WHEN jsonb_typeof(val -> 'bf') = 'array'\n THEN ARRAY(SELECT jsonb_array_elements(val -> 'bf'))::eql_v3_internal.bloom_filter\n END\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/smallint/smallint_types.sql\n--! @brief Encrypted-domain types for smallint.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_smallint.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint IS 'EQL encrypted smallint (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_eq IS 'EQL encrypted smallint (equality)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_ord_ore IS 'EQL encrypted smallint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_ord IS 'EQL encrypted smallint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_ord_ope IS 'EQL encrypted smallint (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/real/real_types.sql\n--! @brief Encrypted-domain types for real.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_real.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real IS 'EQL encrypted real (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_real_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_eq IS 'EQL encrypted real (equality)';\n\n --! @brief Encrypted domain public.eql_v3_real_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_ord_ore IS 'EQL encrypted real (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_real_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_ord IS 'EQL encrypted real (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_real_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_ord_ope IS 'EQL encrypted real (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/numeric/numeric_types.sql\n--! @brief Encrypted-domain types for numeric.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_numeric.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric IS 'EQL encrypted numeric (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_eq IS 'EQL encrypted numeric (equality)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_ord_ore IS 'EQL encrypted numeric (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_ord IS 'EQL encrypted numeric (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_ord_ope IS 'EQL encrypted numeric (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/integer/integer_types.sql\n--! @brief Encrypted-domain types for integer.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_integer.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer IS 'EQL encrypted integer (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_integer_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_eq IS 'EQL encrypted integer (equality)';\n\n --! @brief Encrypted domain public.eql_v3_integer_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_ord_ore IS 'EQL encrypted integer (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_integer_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_ord IS 'EQL encrypted integer (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_integer_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_ord_ope IS 'EQL encrypted integer (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/double/double_types.sql\n--! @brief Encrypted-domain types for double.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_double.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double IS 'EQL encrypted double (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_double_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_eq IS 'EQL encrypted double (equality)';\n\n --! @brief Encrypted domain public.eql_v3_double_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_ord_ore IS 'EQL encrypted double (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_double_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_ord IS 'EQL encrypted double (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_double_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_ord_ope IS 'EQL encrypted double (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/date/date_types.sql\n--! @brief Encrypted-domain types for date.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_date.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date IS 'EQL encrypted date (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_date_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_eq IS 'EQL encrypted date (equality)';\n\n --! @brief Encrypted domain public.eql_v3_date_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_ord_ore IS 'EQL encrypted date (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_date_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_ord IS 'EQL encrypted date (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_date_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_ord_ope IS 'EQL encrypted date (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/bigint/bigint_types.sql\n--! @brief Encrypted-domain types for bigint.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_bigint.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint IS 'EQL encrypted bigint (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_eq IS 'EQL encrypted bigint (equality)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_ord_ore IS 'EQL encrypted bigint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_ord IS 'EQL encrypted bigint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_ord_ope IS 'EQL encrypted bigint (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_timestamp_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param selector text\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ore, selector text)\nRETURNS public.eql_v3_timestamp_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ore, selector integer)\nRETURNS public.eql_v3_timestamp_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_ord_ore)\nRETURNS public.eql_v3_timestamp_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_timestamp_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param selector text\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ope, selector text)\nRETURNS public.eql_v3_timestamp_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ope, selector integer)\nRETURNS public.eql_v3_timestamp_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_ord_ope)\nRETURNS public.eql_v3_timestamp_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_ord.\n\n--! @brief Index extractor for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_timestamp_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param selector text\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord, selector text)\nRETURNS public.eql_v3_timestamp_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param selector integer\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord, selector integer)\nRETURNS public.eql_v3_timestamp_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_ord)\nRETURNS public.eql_v3_timestamp_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/timestamp/query_timestamp_types.sql\n--! @brief Query-operand domains for timestamp (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_timestamp_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_timestamp_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_eq IS 'EQL timestamp query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_timestamp_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_ord_ore IS 'EQL timestamp query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_timestamp_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_ord IS 'EQL timestamp query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_timestamp_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_ord_ope IS 'EQL timestamp query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_eq_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_eq.\n\n--! @brief Index extractor for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_timestamp_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_timestamp_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_timestamp_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_timestamp_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_timestamp_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param selector text\n--! @return public.eql_v3_timestamp_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_eq, selector text)\nRETURNS public.eql_v3_timestamp_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param selector integer\n--! @return public.eql_v3_timestamp_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_eq, selector integer)\nRETURNS public.eql_v3_timestamp_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_eq\n--! @return public.eql_v3_timestamp_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_eq)\nRETURNS public.eql_v3_timestamp_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_ore_functions.sql\n--! @brief Functions for public.eql_v3_text_search_ore.\n\n--! @brief Index extractor for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_search_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_text_search_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a public.eql_v3_text_search_ore)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search_ore) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search_ore) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search_ore) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search_ore) <@ eql_v3.match_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param selector text\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search_ore, selector text)\nRETURNS public.eql_v3_text_search_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param selector integer\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search_ore, selector integer)\nRETURNS public.eql_v3_text_search_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_search_ore)\nRETURNS public.eql_v3_text_search_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_search_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_search_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_search_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_search_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_search_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_functions.sql\n--! @brief Functions for public.eql_v3_text_search.\n\n--! @brief Index extractor for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_search)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_text_search)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a public.eql_v3_text_search)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search) <@ eql_v3.match_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param selector text\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search, selector text)\nRETURNS public.eql_v3_text_search IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param selector integer\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search, selector integer)\nRETURNS public.eql_v3_text_search IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_search)\nRETURNS public.eql_v3_text_search IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_search\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_search)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_search, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_search, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_search, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_search, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_search, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_search, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_search, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_search, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_search)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_text_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_ord_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_text_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ore) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ore) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param selector text\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ore, selector text)\nRETURNS public.eql_v3_text_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ore, selector integer)\nRETURNS public.eql_v3_text_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_ord_ore)\nRETURNS public.eql_v3_text_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_text_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_ord_ope)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_text_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ope) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ope) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param selector text\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ope, selector text)\nRETURNS public.eql_v3_text_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ope, selector integer)\nRETURNS public.eql_v3_text_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_ord_ope)\nRETURNS public.eql_v3_text_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_functions.sql\n--! @brief Functions for public.eql_v3_text_ord.\n\n--! @brief Index extractor for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_ord)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_text_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param selector text\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord, selector text)\nRETURNS public.eql_v3_text_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param selector integer\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord, selector integer)\nRETURNS public.eql_v3_text_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_ord)\nRETURNS public.eql_v3_text_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/text/query_text_types.sql\n--! @brief Query-operand domains for text (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_text_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_text_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_eq IS 'EQL text query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_text_match (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_match' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_match AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'bf'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_match IS 'EQL text query operand (containment)';\n\n --! @brief Query-operand domain eql_v3.query_text_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_ord_ore IS 'EQL text query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_text_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_ord IS 'EQL text query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_text_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_ord_ope IS 'EQL text query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_text_search_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_search_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_search_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND VALUE ? 'bf'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_search_ore IS 'EQL text query operand (equality, ordering, containment)';\n\n --! @brief Query-operand domain eql_v3.query_text_search (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_search' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_search AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE ? 'bf'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_search IS 'EQL text query operand (equality, ordering, containment)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_match_functions.sql\n--! @brief Functions for public.eql_v3_text_match.\n\n--! @brief Index extractor for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a public.eql_v3_text_match)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::public.eql_v3_text_match) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_match) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::public.eql_v3_text_match) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_match) <@ eql_v3.match_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param selector text\n--! @return public.eql_v3_text_match\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_match, selector text)\nRETURNS public.eql_v3_text_match IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param selector integer\n--! @return public.eql_v3_text_match\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_match, selector integer)\nRETURNS public.eql_v3_text_match IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_match\n--! @return public.eql_v3_text_match\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_match)\nRETURNS public.eql_v3_text_match IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_match, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_match, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_match\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_match)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_match, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_match, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_match, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_match, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_match, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_match, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_match, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_match, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_match, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_match, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_match, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_match, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_match)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_eq_functions.sql\n--! @brief Functions for public.eql_v3_text_eq.\n\n--! @brief Index extractor for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param selector text\n--! @return public.eql_v3_text_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_eq, selector text)\nRETURNS public.eql_v3_text_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param selector integer\n--! @return public.eql_v3_text_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_eq, selector integer)\nRETURNS public.eql_v3_text_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_eq\n--! @return public.eql_v3_text_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_eq)\nRETURNS public.eql_v3_text_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_text_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_smallint_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_smallint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param selector text\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ore, selector text)\nRETURNS public.eql_v3_smallint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ore, selector integer)\nRETURNS public.eql_v3_smallint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_ord_ore)\nRETURNS public.eql_v3_smallint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_smallint_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_smallint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param selector text\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ope, selector text)\nRETURNS public.eql_v3_smallint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ope, selector integer)\nRETURNS public.eql_v3_smallint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_ord_ope)\nRETURNS public.eql_v3_smallint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_functions.sql\n--! @brief Functions for public.eql_v3_smallint_ord.\n\n--! @brief Index extractor for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_smallint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param selector text\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord, selector text)\nRETURNS public.eql_v3_smallint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param selector integer\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord, selector integer)\nRETURNS public.eql_v3_smallint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_ord)\nRETURNS public.eql_v3_smallint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/smallint/query_smallint_types.sql\n--! @brief Query-operand domains for smallint (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_smallint_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_smallint_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_eq IS 'EQL smallint query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_smallint_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_ord_ore IS 'EQL smallint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_smallint_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_ord IS 'EQL smallint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_smallint_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_ord_ope IS 'EQL smallint query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_eq_functions.sql\n--! @brief Functions for public.eql_v3_smallint_eq.\n\n--! @brief Index extractor for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_smallint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_smallint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_smallint_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_smallint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_smallint_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param selector text\n--! @return public.eql_v3_smallint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_eq, selector text)\nRETURNS public.eql_v3_smallint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param selector integer\n--! @return public.eql_v3_smallint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_eq, selector integer)\nRETURNS public.eql_v3_smallint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_eq\n--! @return public.eql_v3_smallint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_eq)\nRETURNS public.eql_v3_smallint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_real_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_real_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param selector text\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ore, selector text)\nRETURNS public.eql_v3_real_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ore, selector integer)\nRETURNS public.eql_v3_real_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_ord_ore)\nRETURNS public.eql_v3_real_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_real_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_real_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param selector text\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ope, selector text)\nRETURNS public.eql_v3_real_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ope, selector integer)\nRETURNS public.eql_v3_real_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_ord_ope)\nRETURNS public.eql_v3_real_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_functions.sql\n--! @brief Functions for public.eql_v3_real_ord.\n\n--! @brief Index extractor for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_real_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param selector text\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord, selector text)\nRETURNS public.eql_v3_real_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param selector integer\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord, selector integer)\nRETURNS public.eql_v3_real_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_ord)\nRETURNS public.eql_v3_real_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/real/query_real_types.sql\n--! @brief Query-operand domains for real (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_real_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_real_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_eq IS 'EQL real query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_real_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_ord_ore IS 'EQL real query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_real_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_ord IS 'EQL real query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_real_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_ord_ope IS 'EQL real query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_eq_functions.sql\n--! @brief Functions for public.eql_v3_real_eq.\n\n--! @brief Index extractor for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_real_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_real_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_real_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_real_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_real_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param selector text\n--! @return public.eql_v3_real_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_eq, selector text)\nRETURNS public.eql_v3_real_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param selector integer\n--! @return public.eql_v3_real_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_eq, selector integer)\nRETURNS public.eql_v3_real_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_eq\n--! @return public.eql_v3_real_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_eq)\nRETURNS public.eql_v3_real_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_real_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/numeric/query_numeric_types.sql\n--! @brief Query-operand domains for numeric (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_numeric_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_numeric_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_eq IS 'EQL numeric query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_numeric_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_ord_ore IS 'EQL numeric query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_numeric_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_ord IS 'EQL numeric query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_numeric_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_ord_ope IS 'EQL numeric query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_numeric_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_numeric_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param selector text\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ore, selector text)\nRETURNS public.eql_v3_numeric_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ore, selector integer)\nRETURNS public.eql_v3_numeric_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_ord_ore)\nRETURNS public.eql_v3_numeric_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_functions.sql\n--! @brief Functions for public.eql_v3_numeric_ord.\n\n--! @brief Index extractor for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_numeric_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param selector text\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord, selector text)\nRETURNS public.eql_v3_numeric_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param selector integer\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord, selector integer)\nRETURNS public.eql_v3_numeric_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_ord)\nRETURNS public.eql_v3_numeric_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_numeric_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_numeric_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param selector text\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ope, selector text)\nRETURNS public.eql_v3_numeric_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ope, selector integer)\nRETURNS public.eql_v3_numeric_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_ord_ope)\nRETURNS public.eql_v3_numeric_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_eq_functions.sql\n--! @brief Functions for public.eql_v3_numeric_eq.\n\n--! @brief Index extractor for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_numeric_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_numeric_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_numeric_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_numeric_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_numeric_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param selector text\n--! @return public.eql_v3_numeric_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_eq, selector text)\nRETURNS public.eql_v3_numeric_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param selector integer\n--! @return public.eql_v3_numeric_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_eq, selector integer)\nRETURNS public.eql_v3_numeric_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_eq\n--! @return public.eql_v3_numeric_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_eq)\nRETURNS public.eql_v3_numeric_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/integer/query_integer_types.sql\n--! @brief Query-operand domains for integer (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_integer_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_integer_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_eq IS 'EQL integer query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_integer_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_ord_ore IS 'EQL integer query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_integer_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_ord IS 'EQL integer query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_integer_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_ord_ope IS 'EQL integer query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_integer_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_integer_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param selector text\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ore, selector text)\nRETURNS public.eql_v3_integer_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ore, selector integer)\nRETURNS public.eql_v3_integer_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_ord_ore)\nRETURNS public.eql_v3_integer_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_functions.sql\n--! @brief Functions for public.eql_v3_integer_ord.\n\n--! @brief Index extractor for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_integer_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param selector text\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord, selector text)\nRETURNS public.eql_v3_integer_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param selector integer\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord, selector integer)\nRETURNS public.eql_v3_integer_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_ord)\nRETURNS public.eql_v3_integer_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_integer_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_integer_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param selector text\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ope, selector text)\nRETURNS public.eql_v3_integer_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ope, selector integer)\nRETURNS public.eql_v3_integer_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_ord_ope)\nRETURNS public.eql_v3_integer_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_eq_functions.sql\n--! @brief Functions for public.eql_v3_integer_eq.\n\n--! @brief Index extractor for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_integer_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_integer_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_integer_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_integer_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_integer_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param selector text\n--! @return public.eql_v3_integer_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_eq, selector text)\nRETURNS public.eql_v3_integer_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param selector integer\n--! @return public.eql_v3_integer_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_eq, selector integer)\nRETURNS public.eql_v3_integer_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_eq\n--! @return public.eql_v3_integer_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_eq)\nRETURNS public.eql_v3_integer_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/double/query_double_types.sql\n--! @brief Query-operand domains for double (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_double_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_double_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_eq IS 'EQL double query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_double_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_ord_ore IS 'EQL double query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_double_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_ord IS 'EQL double query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_double_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_ord_ope IS 'EQL double query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_double_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_double_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param selector text\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ore, selector text)\nRETURNS public.eql_v3_double_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ore, selector integer)\nRETURNS public.eql_v3_double_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_ord_ore)\nRETURNS public.eql_v3_double_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_functions.sql\n--! @brief Functions for public.eql_v3_double_ord.\n\n--! @brief Index extractor for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_double_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param selector text\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord, selector text)\nRETURNS public.eql_v3_double_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param selector integer\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord, selector integer)\nRETURNS public.eql_v3_double_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_ord)\nRETURNS public.eql_v3_double_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_double_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_double_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param selector text\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ope, selector text)\nRETURNS public.eql_v3_double_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ope, selector integer)\nRETURNS public.eql_v3_double_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_ord_ope)\nRETURNS public.eql_v3_double_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_eq_functions.sql\n--! @brief Functions for public.eql_v3_double_eq.\n\n--! @brief Index extractor for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_double_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_double_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_double_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_double_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_double_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param selector text\n--! @return public.eql_v3_double_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_eq, selector text)\nRETURNS public.eql_v3_double_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param selector integer\n--! @return public.eql_v3_double_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_eq, selector integer)\nRETURNS public.eql_v3_double_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_eq\n--! @return public.eql_v3_double_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_eq)\nRETURNS public.eql_v3_double_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_double_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/date/query_date_types.sql\n--! @brief Query-operand domains for date (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_date_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_date_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_eq IS 'EQL date query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_date_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_ord_ore IS 'EQL date query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_date_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_ord IS 'EQL date query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_date_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_ord_ope IS 'EQL date query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_date_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_date_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param selector text\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ore, selector text)\nRETURNS public.eql_v3_date_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ore, selector integer)\nRETURNS public.eql_v3_date_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_ord_ore)\nRETURNS public.eql_v3_date_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_functions.sql\n--! @brief Functions for public.eql_v3_date_ord.\n\n--! @brief Index extractor for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_date_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param selector text\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord, selector text)\nRETURNS public.eql_v3_date_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param selector integer\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord, selector integer)\nRETURNS public.eql_v3_date_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_ord)\nRETURNS public.eql_v3_date_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_date_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_date_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param selector text\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ope, selector text)\nRETURNS public.eql_v3_date_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ope, selector integer)\nRETURNS public.eql_v3_date_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_ord_ope)\nRETURNS public.eql_v3_date_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_eq_functions.sql\n--! @brief Functions for public.eql_v3_date_eq.\n\n--! @brief Index extractor for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_date_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_date_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_date_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_date_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_date_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param selector text\n--! @return public.eql_v3_date_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_eq, selector text)\nRETURNS public.eql_v3_date_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param selector integer\n--! @return public.eql_v3_date_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_eq, selector integer)\nRETURNS public.eql_v3_date_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_eq\n--! @return public.eql_v3_date_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_eq)\nRETURNS public.eql_v3_date_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_date_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/boolean/boolean_types.sql\n--! @brief Encrypted-domain types for boolean.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_boolean.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_boolean' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_boolean AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_boolean IS 'EQL encrypted boolean (storage only)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/bigint/query_bigint_types.sql\n--! @brief Query-operand domains for bigint (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_bigint_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_bigint_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_eq IS 'EQL bigint query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_bigint_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_ord_ore IS 'EQL bigint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_bigint_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_ord IS 'EQL bigint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_bigint_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_ord_ope IS 'EQL bigint query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_bigint_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_bigint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param selector text\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ore, selector text)\nRETURNS public.eql_v3_bigint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param selector integer\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ore, selector integer)\nRETURNS public.eql_v3_bigint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_ord_ore)\nRETURNS public.eql_v3_bigint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord_ore\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_functions.sql\n--! @brief Functions for public.eql_v3_bigint_ord.\n\n--! @brief Index extractor for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_bigint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param selector text\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord, selector text)\nRETURNS public.eql_v3_bigint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param selector integer\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord, selector integer)\nRETURNS public.eql_v3_bigint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_ord)\nRETURNS public.eql_v3_bigint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_bigint_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_bigint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param selector text\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ope, selector text)\nRETURNS public.eql_v3_bigint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param selector integer\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ope, selector integer)\nRETURNS public.eql_v3_bigint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_ord_ope)\nRETURNS public.eql_v3_bigint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_ord_ope\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_eq_functions.sql\n--! @brief Functions for public.eql_v3_bigint_eq.\n\n--! @brief Index extractor for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_bigint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_bigint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_bigint_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_bigint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_bigint_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param selector text\n--! @return public.eql_v3_bigint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_eq, selector text)\nRETURNS public.eql_v3_bigint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param selector integer\n--! @return public.eql_v3_bigint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_eq, selector integer)\nRETURNS public.eql_v3_bigint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_eq\n--! @return public.eql_v3_bigint_eq\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_eq)\nRETURNS public.eql_v3_bigint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint_eq\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @file v3/jsonb/types.sql\n--! @brief Domain types for the eql_v3 encrypted-JSONB (SteVec) surface.\n--!\n--! Three jsonb-backed domains (none over another domain — operators resolve\n--! against the ultimate base type jsonb, so the native-jsonb firewall in\n--! blockers.sql can attach):\n--! - public.eql_v3_json_search — storage/root: an EQL envelope object ({i, v, ...}).\n--! - public.eql_v3_jsonb_entry — a single sv element (returned by `->`).\n--! - eql_v3.query_json — a containment needle (sv elements, no ciphertext).\n\n--! @brief Validate a single SteVec entry payload.\n--! @internal\n--! @param val jsonb Candidate entry payload.\n--! @return boolean True when `val` is an sv entry with string `s`, string `c`,\n--! and exactly one string deterministic term (`hm` XOR `op`).\nCREATE OR REPLACE FUNCTION public.eql_v3_is_valid_ste_vec_entry_payload(val jsonb)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT COALESCE(\n jsonb_typeof(val) = 'object'\n AND jsonb_typeof(val -> 's') = 'string'\n AND jsonb_typeof(val -> 'c') = 'string'\n AND (\n (jsonb_typeof(val -> 'hm') = 'string' AND NOT (val ? 'op'))\n OR\n (jsonb_typeof(val -> 'op') = 'string' AND NOT (val ? 'hm'))\n ),\n false\n )\n$$;\n\n--! @brief Validate a SteVec containment query payload.\n--! @internal\n--! @param val jsonb Candidate query payload.\n--! @return boolean True when `val` is `{\"sv\":[...]}` and every element carries\n--! string `s`, no ciphertext, and exactly one string term (`hm` XOR\n--! `op`).\n--! @note plpgsql, not LANGUAGE sql (issues #353/#354): the only caller is the\n--! eql_v3.query_json domain CHECK, where a SQL function can never be\n--! inlined (and the CHECK itself cannot absorb this body — it needs a\n--! subquery over the sv elements, which CHECK constraints forbid). plpgsql\n--! caches its plan across calls instead of paying the per-call SQL-function\n--! executor on every needle cast.\nCREATE OR REPLACE FUNCTION public.eql_v3_is_valid_ste_vec_query_payload(val jsonb)\n RETURNS boolean\n LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\nBEGIN\n RETURN COALESCE(\n jsonb_typeof(val) = 'object'\n AND jsonb_typeof(val -> 'sv') = 'array'\n AND NOT EXISTS (\n SELECT 1\n FROM jsonb_array_elements(\n CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END\n ) AS elem\n WHERE NOT COALESCE((\n jsonb_typeof(elem) = 'object'\n AND jsonb_typeof(elem -> 's') = 'string'\n AND NOT (elem ? 'c')\n AND (\n (jsonb_typeof(elem -> 'hm') = 'string' AND NOT (elem ? 'op'))\n OR\n (jsonb_typeof(elem -> 'op') = 'string' AND NOT (elem ? 'hm'))\n )\n ), false)\n ),\n false\n );\nEND;\n$$;\n\n--! @brief Validate a root SteVec document payload.\n--! @internal\n--! @param val jsonb Candidate document payload.\n--! @return boolean True when `val` is an encrypted document envelope with\n--! `v = 3`, `i`, an `sv` array, and valid sv entry elements.\nCREATE OR REPLACE FUNCTION public.eql_v3_is_valid_ste_vec_document_payload(val jsonb)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT COALESCE(\n jsonb_typeof(val) = 'object'\n AND val ? 'v'\n AND val ->> 'v' = '3'\n AND val ? 'i'\n AND jsonb_typeof(val -> 'sv') = 'array'\n AND NOT EXISTS (\n SELECT 1\n FROM jsonb_array_elements(\n CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END\n ) AS elem\n WHERE NOT public.eql_v3_is_valid_ste_vec_entry_payload(elem)\n ),\n false\n )\n$$;\n\n--! @brief Storage/root domain for an encrypted JSONB column.\n--!\n--! CHECK: a JSON object carrying the EQL envelope (`v = 3` version and `i` index\n--! metadata). Root `c` is intentionally NOT required — an sv-array root payload\n--! is `{i, v, sv}` with no root ciphertext. The CHECK now also requires an `sv`\n--! array, so the domain accepts only SteVec **document** payloads and rejects\n--! encrypted *scalar* payloads (which carry `c`/`hm`/`ob` but no `sv`) — this is\n--! what keeps `public.eql_v3_json_search` a typed document domain rather than a generic\n--! encrypted envelope. The firewall in blockers.sql attaches to this domain to\n--! stop native jsonb operators from reaching a column value.\n--!\n--! @note Constructing from inline JSON uses the standard DOMAIN cast:\n--! `'{\"i\":{},\"v\":3,\"sv\":[...]}'::public.eql_v3_json_search`.\nDO $$\nBEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_json_search' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_json_search AS jsonb\n CHECK (\n public.eql_v3_is_valid_ste_vec_document_payload(VALUE)\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_json_search IS 'EQL encrypted JSONB document (containment, equality, ordering)';\nEND\n$$;\n\n--! @brief Domain type for an individual sv element.\n--!\n--! A single element inside an `sv` array: a JSON object that carries a selector\n--! (`s`), a ciphertext (`c`), and **exactly one** of `hm` (HMAC-256, for\n--! hash-equality) or `op` (CLLW OPE, for ordered queries) — they are mutually\n--! exclusive. This is the type returned by `->` and accepted by the per-entry\n--! extractors `eql_v3.eq_term` / `eql_v3.ord_term`. Extra fields (`a`, root\n--! `i`/`v` merged in by `->`) are allowed.\n--!\n--! @see src/v3/jsonb/operators.sql\n--!\n--! @internal\n--! Implementation note (issue #354): the CHECK is an INLINE expression, not a\n--! call to `public.eql_v3_is_valid_ste_vec_entry_payload` — domain\n--! constraints cannot inline SQL functions, so the function-call form paid\n--! the per-call SQL-function executor (~18 µs) on EVERY cast: the needle\n--! cast in every field_eq query (+19% end-to-end vs v2, the entire measured\n--! regression on that scenario; see cipherstash/benches#23). The expression\n--! mirrors the validator body; the leading `VALUE IS NULL OR` preserves the\n--! validator's STRICT NULL-passes semantics (a bare COALESCE(..., false)\n--! would reject NULL, which `->` returns for a missing selector). Keep the\n--! two in sync — `jsonb_entry_check_matches_validator` in tests/sqlx pins\n--! the equivalence.\n--! @endinternal\nDO $$\nBEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_jsonb_entry' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_jsonb_entry AS jsonb\n CHECK (\n VALUE IS NULL\n OR COALESCE(\n jsonb_typeof(VALUE) = 'object'\n AND jsonb_typeof(VALUE -> 's') = 'string'\n AND jsonb_typeof(VALUE -> 'c') = 'string'\n AND (\n (jsonb_typeof(VALUE -> 'hm') = 'string' AND NOT (VALUE ? 'op'))\n OR\n (jsonb_typeof(VALUE -> 'op') = 'string' AND NOT (VALUE ? 'hm'))\n ),\n false\n )\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_jsonb_entry IS 'EQL encrypted JSONB leaf entry (equality, ordering)';\nEND\n$$;\n\n--! @brief Domain type for an STE-vec containment needle.\n--!\n--! A query-shaped payload `{\"sv\":[...]}` whose elements carry selector + index\n--! term but **never** a ciphertext (`c`). Each element must carry `s` and\n--! exactly one deterministic term (`hm` XOR `op`). Typing the needle this way\n--! stops selector-only needles from casting and matching every row via bare\n--! `jsonb @>`.\n--!\n--! @note Construct from inline JSON via the DOMAIN cast:\n--! `'{\"sv\":[{\"s\":\"\",\"hm\":\"\"}]}'::eql_v3.query_json`.\n--! @see eql_v3.to_ste_vec_query\n--!\n--! @internal\n--! Implementation note (issue #354): this CHECK CANNOT be inlined like\n--! public.eql_v3_jsonb_entry's — validating the sv elements requires a subquery\n--! (`NOT EXISTS (SELECT ... FROM jsonb_array_elements(...))`), and CHECK\n--! constraints forbid subqueries. The validator is plpgsql instead (cached\n--! plan; substantially cheaper per call than a non-inlined LANGUAGE sql\n--! function — the same finding as issue #353), since this cast sits on the\n--! per-query hot path of every containment scenario\n--! (`$1::jsonb::eql_v3.query_json`).\n--! @endinternal\nDO $$\nBEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_json' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_json AS jsonb\n CHECK (\n public.eql_v3_is_valid_ste_vec_query_payload(VALUE)\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_json IS 'EQL JSONB query operand (containment)';\nEND\n$$;\n\n--! @brief Convert a public.eql_v3_json_search to a query_json needle.\n--!\n--! Normalises each sv element down to the matching-relevant fields: `s` plus\n--! exactly one of `hm` / `op`. Other fields (`c`, `a`, `i`/`v`, anything else)\n--! are stripped. This is the canonical needle shape for `@>` containment.\n--! Designed for use as a functional GIN index expression:\n--! `GIN (eql_v3.to_ste_vec_query(col)::jsonb jsonb_path_ops)`.\n--!\n--! @param e public.eql_v3_json_search Source encrypted payload\n--! @return eql_v3.query_json Query-shaped needle, sv elements normalised.\n--! @see eql_v3.query_json\nCREATE FUNCTION eql_v3.to_ste_vec_query(e public.eql_v3_json_search)\n RETURNS eql_v3.query_json\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT jsonb_build_object(\n 'sv',\n coalesce(\n (SELECT jsonb_agg(\n jsonb_strip_nulls(\n jsonb_build_object(\n 's', elem -> 's',\n 'hm', elem -> 'hm',\n 'op', elem -> 'op'\n )\n )\n )\n FROM jsonb_array_elements(e::jsonb -> 'sv') AS elem),\n '[]'::jsonb\n )\n )::eql_v3.query_json\n$$;\n\nCREATE CAST (public.eql_v3_json_search AS eql_v3.query_json)\n WITH FUNCTION eql_v3.to_ste_vec_query\n AS ASSIGNMENT;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_functions.sql\n--! @brief Functions for public.eql_v3_timestamp.\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param selector text\n--! @return public.eql_v3_timestamp\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp, selector text)\nRETURNS public.eql_v3_timestamp IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param selector integer\n--! @return public.eql_v3_timestamp\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp, selector integer)\nRETURNS public.eql_v3_timestamp IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp\n--! @return public.eql_v3_timestamp\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp)\nRETURNS public.eql_v3_timestamp IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param selector public.eql_v3_timestamp\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b public.eql_v3_timestamp\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a public.eql_v3_timestamp\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_timestamp_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_ord.\n\n--! @brief Index extractor for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_timestamp_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_timestamp_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_eq_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_eq.\n\n--! @brief Index extractor for eql_v3.query_timestamp_eq.\n--! @param a eql_v3.query_timestamp_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_timestamp_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b eql_v3.query_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_eq, b eql_v3.query_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a eql_v3.query_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b eql_v3.query_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_eq, b eql_v3.query_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a eql_v3.query_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_ore_operators.sql\n--! @brief Operators for public.eql_v3_text_search_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_operators.sql\n--! @brief Operators for public.eql_v3_text_search.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_text_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_text_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_operators.sql\n--! @brief Operators for public.eql_v3_text_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_functions.sql\n--! @brief Functions for public.eql_v3_text.\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param selector text\n--! @return public.eql_v3_text\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text, selector text)\nRETURNS public.eql_v3_text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param selector integer\n--! @return public.eql_v3_text\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text, selector integer)\nRETURNS public.eql_v3_text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param selector public.eql_v3_text\n--! @return public.eql_v3_text\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text)\nRETURNS public.eql_v3_text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param selector public.eql_v3_text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b public.eql_v3_text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a public.eql_v3_text\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--! @param a jsonb\n--! @param b public.eql_v3_text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_ore_functions.sql\n--! @brief Functions for eql_v3.query_text_search_ore.\n\n--! @brief Index extractor for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_search_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_text_search_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a eql_v3.query_text_search_ore)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_functions.sql\n--! @brief Functions for eql_v3.query_text_search.\n\n--! @brief Index extractor for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_search)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_text_search)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a eql_v3.query_text_search)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_text_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_ord_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_text_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_functions.sql\n--! @brief Functions for eql_v3.query_text_ord.\n\n--! @brief Index extractor for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_ord)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_text_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_text_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_ord_ope)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_text_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_match_functions.sql\n--! @brief Functions for eql_v3.query_text_match.\n\n--! @brief Index extractor for eql_v3.query_text_match.\n--! @param a eql_v3.query_text_match\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a eql_v3.query_text_match)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b eql_v3.query_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_match, b eql_v3.query_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a eql_v3.query_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a eql_v3.query_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b eql_v3.query_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a public.eql_v3_text_match, b eql_v3.query_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a eql_v3.query_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.contained_by(a eql_v3.query_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_eq_functions.sql\n--! @brief Functions for eql_v3.query_text_eq.\n\n--! @brief Index extractor for eql_v3.query_text_eq.\n--! @param a eql_v3.query_text_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b eql_v3.query_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_eq, b eql_v3.query_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a eql_v3.query_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b eql_v3.query_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_eq, b eql_v3.query_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a eql_v3.query_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_smallint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_smallint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_operators.sql\n--! @brief Operators for public.eql_v3_smallint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_functions.sql\n--! @brief Functions for public.eql_v3_smallint.\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param selector text\n--! @return public.eql_v3_smallint\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint, selector text)\nRETURNS public.eql_v3_smallint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param selector integer\n--! @return public.eql_v3_smallint\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint, selector integer)\nRETURNS public.eql_v3_smallint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint\n--! @return public.eql_v3_smallint\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint)\nRETURNS public.eql_v3_smallint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param selector public.eql_v3_smallint\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b public.eql_v3_smallint\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a public.eql_v3_smallint\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_smallint_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_smallint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_functions.sql\n--! @brief Functions for eql_v3.query_smallint_ord.\n\n--! @brief Index extractor for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_smallint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_smallint_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_smallint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_eq_functions.sql\n--! @brief Functions for eql_v3.query_smallint_eq.\n\n--! @brief Index extractor for eql_v3.query_smallint_eq.\n--! @param a eql_v3.query_smallint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_smallint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b eql_v3.query_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_eq, b eql_v3.query_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a eql_v3.query_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b eql_v3.query_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_eq, b eql_v3.query_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a eql_v3.query_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_real_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_real_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_operators.sql\n--! @brief Operators for public.eql_v3_real_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_functions.sql\n--! @brief Functions for public.eql_v3_real.\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param selector text\n--! @return public.eql_v3_real\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real, selector text)\nRETURNS public.eql_v3_real IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param selector integer\n--! @return public.eql_v3_real\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real, selector integer)\nRETURNS public.eql_v3_real IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param selector public.eql_v3_real\n--! @return public.eql_v3_real\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real)\nRETURNS public.eql_v3_real IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param selector public.eql_v3_real\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b public.eql_v3_real\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a public.eql_v3_real\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--! @param a jsonb\n--! @param b public.eql_v3_real\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_real_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_real_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_functions.sql\n--! @brief Functions for eql_v3.query_real_ord.\n\n--! @brief Index extractor for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_real_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_real_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_real_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_eq_functions.sql\n--! @brief Functions for eql_v3.query_real_eq.\n\n--! @brief Index extractor for eql_v3.query_real_eq.\n--! @param a eql_v3.query_real_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_real_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b eql_v3.query_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_eq, b eql_v3.query_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a eql_v3.query_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b eql_v3.query_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_eq, b eql_v3.query_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a eql_v3.query_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @file v3/sem/ore_block_256/operator_class.sql\n--! @brief B-tree operator family + default class on eql_v3_internal.ore_block_256.\n--!\n--! Gives the composite type its DEFAULT btree opclass so the recommended\n--! functional index `CREATE INDEX ON t (eql_v3.ord_term_ore(col))` engages without\n--! an explicit opclass annotation (design D4).\n--!\n--! @note Creating an operator family/class requires superuser: Postgres forbids\n--! CREATE OPERATOR FAMILY / CLASS to non-superusers to protect index\n--! integrity. Managed platforms (Supabase, and most hosted Postgres) run\n--! the installer as a non-superuser role, so the DO block below ATTEMPTS\n--! the creation and skips it on insufficient_privilege (SQLSTATE 42501),\n--! letting the single installer run everywhere. When the class is absent,\n--! ORE ordered scans over eql_v3_internal.ore_block_256 are unavailable,\n--! but the order-preserving (OPE) ordering domains — whose extractor\n--! return types carry a native btree opclass — still index without it. On\n--! superuser installs (self-managed Postgres, the SQLx test matrix) the\n--! class is created normally. Any non-privilege error still propagates.\n--! @see eql_v3_internal.compare_ore_block_256_terms\n\nDO $do$\nBEGIN\n EXECUTE 'CREATE OPERATOR FAMILY eql_v3_internal.ore_block_256_operator_family USING btree';\n\n EXECUTE $ddl$\n CREATE OPERATOR CLASS eql_v3_internal.ore_block_256_operator_class\n DEFAULT FOR TYPE eql_v3_internal.ore_block_256\n USING btree FAMILY eql_v3_internal.ore_block_256_operator_family AS\n OPERATOR 1 public.<,\n OPERATOR 2 public.<=,\n OPERATOR 3 public.=,\n OPERATOR 4 public.>=,\n OPERATOR 5 public.>,\n FUNCTION 1 eql_v3_internal.compare_ore_block_256_terms(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\n $ddl$;\n\n RAISE NOTICE 'EQL: created btree operator class eql_v3_internal.ore_block_256_operator_class';\nEXCEPTION\n WHEN insufficient_privilege THEN\n RAISE NOTICE 'EQL: skipped operator class eql_v3_internal.ore_block_256_operator_class (requires superuser); ORE ordered indexes on ore_block_256 unavailable, OPE ordering domains unaffected';\nEND;\n$do$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_numeric_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_numeric_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_functions.sql\n--! @brief Functions for eql_v3.query_numeric_ord.\n\n--! @brief Index extractor for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_numeric_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_numeric_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_numeric_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_eq_functions.sql\n--! @brief Functions for eql_v3.query_numeric_eq.\n\n--! @brief Index extractor for eql_v3.query_numeric_eq.\n--! @param a eql_v3.query_numeric_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_numeric_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b eql_v3.query_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_eq, b eql_v3.query_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a eql_v3.query_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b eql_v3.query_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_eq, b eql_v3.query_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a eql_v3.query_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_numeric_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_numeric_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_operators.sql\n--! @brief Operators for public.eql_v3_numeric_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_functions.sql\n--! @brief Functions for public.eql_v3_numeric.\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param selector text\n--! @return public.eql_v3_numeric\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric, selector text)\nRETURNS public.eql_v3_numeric IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param selector integer\n--! @return public.eql_v3_numeric\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric, selector integer)\nRETURNS public.eql_v3_numeric IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric\n--! @return public.eql_v3_numeric\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric)\nRETURNS public.eql_v3_numeric IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param selector public.eql_v3_numeric\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b public.eql_v3_numeric\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a public.eql_v3_numeric\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_integer_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_integer_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_functions.sql\n--! @brief Functions for eql_v3.query_integer_ord.\n\n--! @brief Index extractor for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_integer_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_integer_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_integer_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_eq_functions.sql\n--! @brief Functions for eql_v3.query_integer_eq.\n\n--! @brief Index extractor for eql_v3.query_integer_eq.\n--! @param a eql_v3.query_integer_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_integer_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b eql_v3.query_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_eq, b eql_v3.query_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a eql_v3.query_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b eql_v3.query_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_eq, b eql_v3.query_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a eql_v3.query_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_integer_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_integer_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_operators.sql\n--! @brief Operators for public.eql_v3_integer_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_functions.sql\n--! @brief Functions for public.eql_v3_integer.\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param selector text\n--! @return public.eql_v3_integer\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer, selector text)\nRETURNS public.eql_v3_integer IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param selector integer\n--! @return public.eql_v3_integer\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer, selector integer)\nRETURNS public.eql_v3_integer IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer\n--! @return public.eql_v3_integer\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer)\nRETURNS public.eql_v3_integer IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param selector public.eql_v3_integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b public.eql_v3_integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a public.eql_v3_integer\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--! @param a jsonb\n--! @param b public.eql_v3_integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_double_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_double_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_functions.sql\n--! @brief Functions for eql_v3.query_double_ord.\n\n--! @brief Index extractor for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_double_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_double_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_double_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_eq_functions.sql\n--! @brief Functions for eql_v3.query_double_eq.\n\n--! @brief Index extractor for eql_v3.query_double_eq.\n--! @param a eql_v3.query_double_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_double_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b eql_v3.query_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_eq, b eql_v3.query_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a eql_v3.query_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b eql_v3.query_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_eq, b eql_v3.query_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a eql_v3.query_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_double_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_double_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_operators.sql\n--! @brief Operators for public.eql_v3_double_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_functions.sql\n--! @brief Functions for public.eql_v3_double.\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param selector text\n--! @return public.eql_v3_double\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double, selector text)\nRETURNS public.eql_v3_double IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param selector integer\n--! @return public.eql_v3_double\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double, selector integer)\nRETURNS public.eql_v3_double IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param selector public.eql_v3_double\n--! @return public.eql_v3_double\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double)\nRETURNS public.eql_v3_double IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param selector public.eql_v3_double\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b public.eql_v3_double\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a public.eql_v3_double\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--! @param a jsonb\n--! @param b public.eql_v3_double\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_date_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_date_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_functions.sql\n--! @brief Functions for eql_v3.query_date_ord.\n\n--! @brief Index extractor for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_date_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_date_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_date_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_eq_functions.sql\n--! @brief Functions for eql_v3.query_date_eq.\n\n--! @brief Index extractor for eql_v3.query_date_eq.\n--! @param a eql_v3.query_date_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_date_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b eql_v3.query_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_eq, b eql_v3.query_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a eql_v3.query_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b eql_v3.query_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_eq, b eql_v3.query_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a eql_v3.query_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_date_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_date_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_operators.sql\n--! @brief Operators for public.eql_v3_date_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_functions.sql\n--! @brief Functions for public.eql_v3_date.\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param selector text\n--! @return public.eql_v3_date\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date, selector text)\nRETURNS public.eql_v3_date IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param selector integer\n--! @return public.eql_v3_date\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date, selector integer)\nRETURNS public.eql_v3_date IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param selector public.eql_v3_date\n--! @return public.eql_v3_date\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date)\nRETURNS public.eql_v3_date IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param selector public.eql_v3_date\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b public.eql_v3_date\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a public.eql_v3_date\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--! @param a jsonb\n--! @param b public.eql_v3_date\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/boolean/boolean_functions.sql\n--! @brief Functions for public.eql_v3_boolean.\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param selector text\n--! @return public.eql_v3_boolean\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_boolean, selector text)\nRETURNS public.eql_v3_boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param selector integer\n--! @return public.eql_v3_boolean\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_boolean, selector integer)\nRETURNS public.eql_v3_boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param selector public.eql_v3_boolean\n--! @return public.eql_v3_boolean\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_boolean)\nRETURNS public.eql_v3_boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_boolean, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_boolean, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param selector public.eql_v3_boolean\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_boolean)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_boolean, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_boolean, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_boolean, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_boolean, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_boolean, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_boolean, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_boolean, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_boolean, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_boolean, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_boolean, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_boolean, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b public.eql_v3_boolean\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a public.eql_v3_boolean\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_boolean, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--! @param a jsonb\n--! @param b public.eql_v3_boolean\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_boolean)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_bigint_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_bigint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_functions.sql\n--! @brief Functions for eql_v3.query_bigint_ord.\n\n--! @brief Index extractor for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_bigint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_bigint_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_bigint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_eq_functions.sql\n--! @brief Functions for eql_v3.query_bigint_eq.\n\n--! @brief Index extractor for eql_v3.query_bigint_eq.\n--! @param a eql_v3.query_bigint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_bigint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b eql_v3.query_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_eq, b eql_v3.query_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a eql_v3.query_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b eql_v3.query_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_eq, b eql_v3.query_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a eql_v3.query_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_bigint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_bigint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_operators.sql\n--! @brief Operators for public.eql_v3_bigint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_functions.sql\n--! @brief Functions for public.eql_v3_bigint.\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param selector text\n--! @return public.eql_v3_bigint\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint, selector text)\nRETURNS public.eql_v3_bigint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param selector integer\n--! @return public.eql_v3_bigint\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint, selector integer)\nRETURNS public.eql_v3_bigint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint\n--! @return public.eql_v3_bigint\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint)\nRETURNS public.eql_v3_bigint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param selector text\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param selector integer\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param selector public.eql_v3_bigint\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonpath\n--! @return boolean\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return text\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b integer\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b text[]\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b public.eql_v3_bigint\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a public.eql_v3_bigint\n--! @param b jsonb\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint\n--! @return jsonb\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @file v3/jsonb/functions.sql\n--! @brief Extractors, containment engine, and path/array functions for the\n--! eql_v3 encrypted-JSONB (SteVec) surface.\n--!\n--! `selector` parameters here are *encrypted-side* selector hashes — the\n--! deterministic hash the crypto layer emits in the `s` field of each sv\n--! element. Plaintext JSONPaths are never accepted at runtime.\n\n------------------------------------------------------------------------------\n-- Envelope helpers (eql_v3 owns these; jsonb-only)\n------------------------------------------------------------------------------\n\n--! @brief Extract metadata (i, v) from a raw jsonb encrypted value.\n--! @param val jsonb encrypted EQL payload\n--! @return jsonb Metadata object with `i` and `v` fields.\nCREATE FUNCTION eql_v3.meta_data(val jsonb)\n RETURNS jsonb\n IMMUTABLE STRICT PARALLEL SAFE\n LANGUAGE SQL\nAS $$\n SELECT jsonb_build_object('i', val->'i', 'v', val->'v');\n$$;\n\nCOMMENT ON FUNCTION eql_v3.meta_data(jsonb) IS\n 'eql-inline-critical: raw-jsonb envelope helper used by v3 jsonb wrappers; must stay inlinable (unpinned search_path)';\n\n--! @brief Extract ciphertext (c) from a raw jsonb encrypted value.\n--! @param val jsonb encrypted EQL payload\n--! @return text Base64-encoded ciphertext.\n--! @throws Exception if `c` is absent.\nCREATE FUNCTION eql_v3.ciphertext(val jsonb)\n RETURNS text\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n IF val ? 'c' THEN\n RETURN val->>'c';\n END IF;\n RAISE 'Expected a ciphertext (c) value in json: %', val;\n END;\n$$ LANGUAGE plpgsql;\n\n------------------------------------------------------------------------------\n-- Selector extractors\n------------------------------------------------------------------------------\n\n--! @brief Extract selector (s) from a raw jsonb encrypted value.\n--! @param val jsonb encrypted EQL payload\n--! @return text The selector value.\n--! @throws Exception if `s` is absent.\nCREATE FUNCTION eql_v3.selector(val jsonb)\n RETURNS text\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n IF val ? 's' THEN\n RETURN val->>'s';\n END IF;\n RAISE 'Expected a selector index (s) value in json: %', val;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract selector (s) from a ste_vec entry. The DOMAIN CHECK\n--! guarantees `s` is present, so this is a simple field access.\n--! @param entry public.eql_v3_jsonb_entry\n--! @return text The selector value.\nCREATE FUNCTION eql_v3.selector(entry public.eql_v3_jsonb_entry)\n RETURNS text\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT entry ->> 's'\n$$;\n\n------------------------------------------------------------------------------\n-- Equality-term extractor (XOR-aware: coalesce(hm, op))\n------------------------------------------------------------------------------\n\n--! @brief XOR-aware equality term extractor for public.eql_v3_jsonb_entry.\n--!\n--! Returns the bytea of whichever deterministic term the sv entry carries —\n--! `hm` (HMAC-256) or `op` (CLLW OPE). The two byte distributions are disjoint\n--! by construction, so byte equality on the coalesce is unambiguous. Canonical\n--! equality extractor used by `=` / `<>` on jsonb_entry.\n--!\n--! @param entry public.eql_v3_jsonb_entry\n--! @return bytea Decoded `hm` or `op` bytes (NULL if entry is NULL).\nCREATE FUNCTION eql_v3.eq_term(entry public.eql_v3_jsonb_entry)\n RETURNS bytea\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT decode(coalesce(entry ->> 'hm', entry ->> 'op'), 'hex')\n$$;\n\n------------------------------------------------------------------------------\n-- CLLW OPE per-entry overload (converged with the scalar ord_term)\n------------------------------------------------------------------------------\n\n--! @brief Extract the CLLW OPE index term from a ste_vec entry.\n--!\n--! An sv-element `op` term is only ever present on an sv element, never at a\n--! root encrypted value, so the typed overload accepts public.eql_v3_jsonb_entry —\n--! the jsonb_entry twin of the generated scalar `eql_v3.ord_term`\n--! extractors. Returns SQL NULL when `op` is absent (the strict `->>` /\n--! `decode` chain propagates it), so btree NULL-filters such rows from range\n--! queries. The returned eql_v3_internal.ope_cllw is a bytea domain: it orders\n--! under native byte comparison with the DEFAULT btree opclass, so a\n--! functional index on `eql_v3.ord_term(col -> 'selector')` engages\n--! structurally with no custom operator class (Supabase/managed-Postgres\n--! safe).\n--!\n--! @param entry public.eql_v3_jsonb_entry\n--! @return eql_v3_internal.ope_cllw Hex-decoded CLLW OPE term, or NULL when\n--! `op` is absent.\nCREATE FUNCTION eql_v3.ord_term(entry public.eql_v3_jsonb_entry)\n RETURNS eql_v3_internal.ope_cllw\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.ope_cllw(entry::jsonb)\n$$;\n\n------------------------------------------------------------------------------\n-- sv-array helpers\n------------------------------------------------------------------------------\n\n--! @brief Extract the sv element array as raw jsonb[].\n--!\n--! Returns the elements of `sv` (or a single-element array wrapping the value\n--! when there is no `sv`). No envelope re-wrapping — raw jsonb elements.\n--!\n--! @param val jsonb encrypted EQL payload\n--! @return jsonb[] Array of sv elements.\nCREATE FUNCTION eql_v3.ste_vec(val jsonb)\n RETURNS jsonb[]\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb;\n ary jsonb[];\n BEGIN\n IF val ? 'sv' THEN\n sv := val->'sv';\n ELSE\n sv := jsonb_build_array(val);\n END IF;\n\n SELECT array_agg(elem)\n INTO ary\n FROM jsonb_array_elements(sv) AS elem;\n\n RETURN ary;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Check if a jsonb payload is marked as an sv array (`a` flag true).\n--! @param val jsonb encrypted EQL payload\n--! @return boolean True if `a` is present and true.\nCREATE FUNCTION eql_v3_internal.is_ste_vec_array(val jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n IF val ? 'a' THEN\n RETURN (val->>'a')::boolean;\n END IF;\n RETURN false;\n END;\n$$ LANGUAGE plpgsql;\n\n------------------------------------------------------------------------------\n-- Deterministic-fields array for GIN containment\n------------------------------------------------------------------------------\n\n--! @brief Extract deterministic search fields (s, hm, op) per sv element.\n--!\n--! Excludes non-deterministic ciphertext so PostgreSQL's native jsonb `@>` can\n--! compare for containment. Use for GIN indexes and containment queries.\n--!\n--! @param val jsonb encrypted EQL payload\n--! @return jsonb[] Array of objects with only deterministic fields.\nCREATE FUNCTION eql_v3.jsonb_array(val jsonb)\nRETURNS jsonb[]\nIMMUTABLE STRICT PARALLEL SAFE\nLANGUAGE SQL\nAS $$\n SELECT ARRAY(\n SELECT jsonb_object_agg(kv.key, kv.value)\n FROM jsonb_array_elements(\n CASE WHEN val ? 'sv' THEN val->'sv' ELSE jsonb_build_array(val) END\n ) AS elem,\n LATERAL jsonb_each(elem) AS kv(key, value)\n WHERE kv.key IN ('s', 'hm', 'op')\n GROUP BY elem\n );\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_array(jsonb) IS\n 'eql-inline-critical: raw-jsonb deterministic-field array helper; must stay inlinable (unpinned search_path)';\n\n------------------------------------------------------------------------------\n-- Containment\n------------------------------------------------------------------------------\n\n--! @brief GIN-indexable containment check: does `a` contain all of `b`?\n--! @param a jsonb Container payload.\n--! @param b jsonb Search payload.\n--! @return boolean True if a contains all deterministic elements of b.\n--! @note Public raw-`jsonb[]` containment helper over the extracted\n--! deterministic fields — the function-form entrypoint for containment on\n--! platforms without operator support (Supabase/PostgREST). The typed\n--! `public.eql_v3_json_search` `@>` operator does NOT call this function — it binds to\n--! `eql_v3.ste_vec_contains` instead — but both agree on the result (a\n--! parity test pins this). Also the documented GIN index expression\n--! (`eql_v3.jsonb_array(col)`); see docs/reference/database-indexes.md.\nCREATE FUNCTION eql_v3.jsonb_contains(a jsonb, b jsonb)\nRETURNS boolean\nIMMUTABLE STRICT PARALLEL SAFE\nLANGUAGE SQL\nAS $$\n SELECT eql_v3.jsonb_array(a) @> eql_v3.jsonb_array(b);\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_contains(jsonb, jsonb) IS\n 'eql-inline-critical: raw-jsonb containment helper; must stay inlinable (unpinned search_path)';\n\n--! @brief GIN-indexable \"is contained by\" check.\n--! @param a jsonb Payload to check.\n--! @param b jsonb Container payload.\n--! @return boolean True if all elements of a are contained in b.\n--! @note Public raw-`jsonb[]` reverse-containment helper — the function-form\n--! entrypoint for `<@` on platforms without operator support. The typed\n--! `public.eql_v3_json_search` `<@` operator binds to `eql_v3.ste_vec_contains` instead,\n--! but both agree on the result.\nCREATE FUNCTION eql_v3.jsonb_contained_by(a jsonb, b jsonb)\nRETURNS boolean\nIMMUTABLE STRICT PARALLEL SAFE\nLANGUAGE SQL\nAS $$\n SELECT eql_v3.jsonb_array(a) <@ eql_v3.jsonb_array(b);\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_contained_by(jsonb, jsonb) IS\n 'eql-inline-critical: raw-jsonb contained-by helper; must stay inlinable (unpinned search_path)';\n\n--! @brief Check if an sv array contains a specific sv element.\n--!\n--! Match = selector equal AND eq_term equal (byte-equality over coalesce(hm,\n--! op)). This collapses the v2 hm/oc CASE: under the XOR contract both terms\n--! are deterministic and byte-disjoint, so either one is a valid equality\n--! discriminator and a single byte comparison is correct.\n--!\n--! ASSUMPTION (locked by a negative test in v3_jsonb_tests.rs): hm and op byte\n--! distributions never collide at a given selector. The crypto layer configures\n--! a selector for eq XOR ordered, so both sides of a real comparison carry the\n--! same term type — an hm needle never meets an op leaf at the same selector.\n--! This collapse would wrongly match an hm needle against an op leaf if their\n--! hex bytes were ever identical — which the contract prevents (an hm is a\n--! fixed 32-byte HMAC; an op is a CLLW OPE ciphertext whose length is a\n--! function of the plaintext bit width, never 32 bytes for the supported\n--! domains). The negative-containment test guards against regression.\n--!\n--! @param a jsonb[] sv array to search within.\n--! @param b jsonb sv element to search for.\n--! @return boolean True if b is found in any element of a.\nCREATE FUNCTION eql_v3.ste_vec_contains(a jsonb[], b jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n result boolean;\n _a jsonb;\n BEGIN\n result := false;\n\n FOR idx IN 1..array_length(a, 1) LOOP\n _a := a[idx];\n result := result OR (\n eql_v3.selector(_a) = eql_v3.selector(b)\n AND eql_v3.eq_term(_a::public.eql_v3_jsonb_entry) = eql_v3.eq_term(b::public.eql_v3_jsonb_entry)\n );\n EXIT WHEN result;\n END LOOP;\n\n RETURN result;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Does encrypted value `a` contain all sv elements of `b`?\n--!\n--! Empty b is always contained. Each element of b must match selector + eq_term\n--! in some element of a.\n--!\n--! @param a public.eql_v3_json_search Container.\n--! @param b public.eql_v3_json_search Elements to find.\n--! @return boolean True if all elements of b are contained in a.\n--! @see eql_v3.ste_vec_contains(jsonb[], jsonb)\nCREATE FUNCTION eql_v3.ste_vec_contains(a public.eql_v3_json_search, b public.eql_v3_json_search)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n result boolean;\n sv_a jsonb[];\n sv_b jsonb[];\n _b jsonb;\n BEGIN\n sv_a := eql_v3.ste_vec(a);\n sv_b := eql_v3.ste_vec(b);\n\n IF array_length(sv_b, 1) IS NULL THEN\n RETURN true;\n END IF;\n\n IF array_length(sv_a, 1) IS NULL THEN\n RETURN false;\n END IF;\n\n result := true;\n\n FOR idx IN 1..array_length(sv_b, 1) LOOP\n _b := sv_b[idx];\n result := result AND eql_v3.ste_vec_contains(sv_a, _b);\n END LOOP;\n\n RETURN result;\n END;\n$$ LANGUAGE plpgsql;\n\n------------------------------------------------------------------------------\n-- Path queries (text selector only)\n------------------------------------------------------------------------------\n\n--! @brief Query encrypted JSONB for sv elements matching `selector`.\n--!\n--! Returns one jsonb_entry row per matching encrypted element. Returns empty\n--! set on no match. It deliberately does not wrap multiple matches as an\n--! public.eql_v3_json_search document, because the root document domain requires an `sv`\n--! array and single leaves belong to public.eql_v3_jsonb_entry.\n--!\n--! @param val jsonb encrypted EQL payload with `sv`.\n--! @param selector text Selector hash (`s` value).\n--! @return SETOF public.eql_v3_jsonb_entry Matching encrypted entries.\n--! @see eql_v3.jsonb_path_query_first\nCREATE FUNCTION eql_v3.jsonb_path_query(val jsonb, selector text)\n RETURNS SETOF public.eql_v3_jsonb_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (eql_v3.meta_data(val) || elem)::public.eql_v3_jsonb_entry\n FROM jsonb_array_elements(val -> 'sv') elem\n WHERE elem ->> 's' = selector\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_path_query(jsonb, text) IS\n 'eql-inline-critical: raw-jsonb path query helper; must stay inlinable (unpinned search_path)';\n\n--! @brief Check if a selector path exists in encrypted JSONB.\n--! @param val jsonb encrypted EQL payload.\n--! @param selector text Selector hash to test.\n--! @return boolean True if a matching element exists.\nCREATE FUNCTION eql_v3.jsonb_path_exists(val jsonb, selector text)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT EXISTS (\n SELECT 1 FROM jsonb_array_elements(val -> 'sv') elem\n WHERE elem ->> 's' = selector\n );\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_path_exists(jsonb, text) IS\n 'eql-inline-critical: raw-jsonb path exists helper; must stay inlinable (unpinned search_path)';\n\n--! @brief Get the first sv element matching `selector`, or NULL.\n--! @param val jsonb encrypted EQL payload.\n--! @param selector text Selector hash to match.\n--! @return public.eql_v3_jsonb_entry First matching element or NULL.\nCREATE FUNCTION eql_v3.jsonb_path_query_first(val jsonb, selector text)\n RETURNS public.eql_v3_jsonb_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (eql_v3.meta_data(val) || elem)::public.eql_v3_jsonb_entry\n FROM jsonb_array_elements(val -> 'sv') elem\n WHERE elem ->> 's' = selector\n LIMIT 1\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_path_query_first(jsonb, text) IS\n 'eql-inline-critical: raw-jsonb path first helper; must stay inlinable (unpinned search_path)';\n\n------------------------------------------------------------------------------\n-- Array functions\n------------------------------------------------------------------------------\n\n--! @brief Get the length of an encrypted JSONB array.\n--! @param val jsonb encrypted EQL payload (must have `a` flag true).\n--! @return integer Number of elements.\n--! @throws Exception 'cannot get array length of a non-array' if not an array.\nCREATE FUNCTION eql_v3.jsonb_array_length(val jsonb)\n RETURNS integer\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb[];\n BEGIN\n IF eql_v3_internal.is_ste_vec_array(val) THEN\n sv := eql_v3.ste_vec(val);\n RETURN array_length(sv, 1);\n END IF;\n\n RAISE 'cannot get array length of a non-array';\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract elements of an encrypted JSONB array as rows.\n--! @param val jsonb encrypted EQL payload (must have `a` flag true).\n--! @return SETOF public.eql_v3_jsonb_entry One row per element (metadata preserved).\n--! @throws Exception 'cannot extract elements from non-array' if not an array.\nCREATE FUNCTION eql_v3.jsonb_array_elements(val jsonb)\n RETURNS SETOF public.eql_v3_jsonb_entry\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb[];\n meta jsonb;\n item jsonb;\n BEGIN\n IF NOT eql_v3_internal.is_ste_vec_array(val) THEN\n RAISE 'cannot extract elements from non-array';\n END IF;\n\n meta := eql_v3.meta_data(val);\n sv := eql_v3.ste_vec(val);\n\n FOR idx IN 1..array_length(sv, 1) LOOP\n item = sv[idx];\n RETURN NEXT (meta || item)::public.eql_v3_jsonb_entry;\n END LOOP;\n\n RETURN;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract elements of an encrypted JSONB array as ciphertext text.\n--! @param val jsonb encrypted EQL payload (must have `a` flag true).\n--! @return SETOF text One ciphertext per element.\n--! @throws Exception 'cannot extract elements from non-array' if not an array.\nCREATE FUNCTION eql_v3.jsonb_array_elements_text(val jsonb)\n RETURNS SETOF text\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb[];\n BEGIN\n IF NOT eql_v3_internal.is_ste_vec_array(val) THEN\n RAISE 'cannot extract elements from non-array';\n END IF;\n\n sv := eql_v3.ste_vec(val);\n\n FOR idx IN 1..array_length(sv, 1) LOOP\n RETURN NEXT eql_v3.ciphertext(sv[idx]);\n END LOOP;\n\n RETURN;\n END;\n$$ LANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE\n-- Source is src/v3/version.template\n\nDROP FUNCTION IF EXISTS eql_v3.version();\n\n--! @file v3/version.sql\n--! @brief EQL version reporting (self-contained eql_v3 surface)\n--!\n--! This file is auto-generated from src/v3/version.template during build.\n--! The 3.0.0 placeholder is replaced with the actual release\n--! version (bare semver, e.g. \"3.0.0\") supplied via `mise run build --version`,\n--! or \"DEV\" for development builds.\n\n--! @brief Get the installed EQL version string\n--!\n--! Returns the version string for the installed EQL library. This value is\n--! baked in at build time from the release tag.\n--!\n--! @return text Version string (e.g. \"3.0.0\" or \"DEV\" for development builds)\n--!\n--! @note Auto-generated during build from src/v3/version.template\n--!\n--! Example: `SELECT eql_v3.version()` returns the installed version string,\n--! e.g. `'3.0.0'` (or `'DEV'` for development builds).\nCREATE FUNCTION eql_v3.version()\n RETURNS text\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT '3.0.0';\n$$ LANGUAGE SQL;\n\n--! @brief Schema-level version marker for obj_description() discoverability\n--!\n--! Mirrors eql_v3.version() as a comment on the schema so the installed\n--! version can also be read via obj_description('eql_v3'::regnamespace).\nCOMMENT ON SCHEMA eql_v3 IS '3.0.0';\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_timestamp_ord_ore.\n\n--! @brief State function for min on public.eql_v3_timestamp_ord_ore.\n--! @param state public.eql_v3_timestamp_ord_ore\n--! @param value public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_timestamp_ord_ore, value public.eql_v3_timestamp_ord_ore)\nRETURNS public.eql_v3_timestamp_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_timestamp_ord_ore.\n--! @param input public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_timestamp_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_timestamp_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_timestamp_ord_ore.\n--! @param state public.eql_v3_timestamp_ord_ore\n--! @param value public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_timestamp_ord_ore, value public.eql_v3_timestamp_ord_ore)\nRETURNS public.eql_v3_timestamp_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_timestamp_ord_ore.\n--! @param input public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_timestamp_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_timestamp_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_timestamp_ord_ope.\n\n--! @brief State function for min on public.eql_v3_timestamp_ord_ope.\n--! @param state public.eql_v3_timestamp_ord_ope\n--! @param value public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_timestamp_ord_ope, value public.eql_v3_timestamp_ord_ope)\nRETURNS public.eql_v3_timestamp_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_timestamp_ord_ope.\n--! @param input public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_timestamp_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_timestamp_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_timestamp_ord_ope.\n--! @param state public.eql_v3_timestamp_ord_ope\n--! @param value public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_timestamp_ord_ope, value public.eql_v3_timestamp_ord_ope)\nRETURNS public.eql_v3_timestamp_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_timestamp_ord_ope.\n--! @param input public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_timestamp_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_timestamp_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_timestamp_ord.\n\n--! @brief State function for min on public.eql_v3_timestamp_ord.\n--! @param state public.eql_v3_timestamp_ord\n--! @param value public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_timestamp_ord, value public.eql_v3_timestamp_ord)\nRETURNS public.eql_v3_timestamp_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_timestamp_ord.\n--! @param input public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_timestamp_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_timestamp_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_timestamp_ord.\n--! @param state public.eql_v3_timestamp_ord\n--! @param value public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_timestamp_ord, value public.eql_v3_timestamp_ord)\nRETURNS public.eql_v3_timestamp_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_timestamp_ord.\n--! @param input public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_timestamp_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_timestamp_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_operators.sql\n--! @brief Operators for public.eql_v3_timestamp.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_eq_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_eq_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = eql_v3.query_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = eql_v3.query_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_search_ore.\n\n--! @brief State function for min on public.eql_v3_text_search_ore.\n--! @param state public.eql_v3_text_search_ore\n--! @param value public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_search_ore, value public.eql_v3_text_search_ore)\nRETURNS public.eql_v3_text_search_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_search_ore.\n--! @param input public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_search_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_search_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_search_ore.\n--! @param state public.eql_v3_text_search_ore\n--! @param value public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_search_ore, value public.eql_v3_text_search_ore)\nRETURNS public.eql_v3_text_search_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_search_ore.\n--! @param input public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_search_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_search_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_search.\n\n--! @brief State function for min on public.eql_v3_text_search.\n--! @param state public.eql_v3_text_search\n--! @param value public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_search, value public.eql_v3_text_search)\nRETURNS public.eql_v3_text_search\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_search.\n--! @param input public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_search) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_search,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_search.\n--! @param state public.eql_v3_text_search\n--! @param value public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_search, value public.eql_v3_text_search)\nRETURNS public.eql_v3_text_search\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_search.\n--! @param input public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_search) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_search,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_ord_ore.\n\n--! @brief State function for min on public.eql_v3_text_ord_ore.\n--! @param state public.eql_v3_text_ord_ore\n--! @param value public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_ord_ore, value public.eql_v3_text_ord_ore)\nRETURNS public.eql_v3_text_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_ord_ore.\n--! @param input public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_ord_ore.\n--! @param state public.eql_v3_text_ord_ore\n--! @param value public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_ord_ore, value public.eql_v3_text_ord_ore)\nRETURNS public.eql_v3_text_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_ord_ore.\n--! @param input public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_ord_ope.\n\n--! @brief State function for min on public.eql_v3_text_ord_ope.\n--! @param state public.eql_v3_text_ord_ope\n--! @param value public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_ord_ope, value public.eql_v3_text_ord_ope)\nRETURNS public.eql_v3_text_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_ord_ope.\n--! @param input public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_ord_ope.\n--! @param state public.eql_v3_text_ord_ope\n--! @param value public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_ord_ope, value public.eql_v3_text_ord_ope)\nRETURNS public.eql_v3_text_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_ord_ope.\n--! @param input public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_ord.\n\n--! @brief State function for min on public.eql_v3_text_ord.\n--! @param state public.eql_v3_text_ord\n--! @param value public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_ord, value public.eql_v3_text_ord)\nRETURNS public.eql_v3_text_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_ord.\n--! @param input public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_ord.\n--! @param state public.eql_v3_text_ord\n--! @param value public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_ord, value public.eql_v3_text_ord)\nRETURNS public.eql_v3_text_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_ord.\n--! @param input public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_operators.sql\n--! @brief Operators for public.eql_v3_text.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_match_operators.sql\n--! @brief Operators for public.eql_v3_text_match.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_eq_operators.sql\n--! @brief Operators for public.eql_v3_text_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_ore_operators.sql\n--! @brief Operators for eql_v3.query_text_search_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_operators.sql\n--! @brief Operators for eql_v3.query_text_search.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_text_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_operators.sql\n--! @brief Operators for eql_v3.query_text_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_text_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_match_operators.sql\n--! @brief Operators for eql_v3.query_text_match.\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = eql_v3.query_text_match,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3.matches,\n LEFTARG = eql_v3.query_text_match, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = eql_v3.query_text_match,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3.contained_by,\n LEFTARG = eql_v3.query_text_match, RIGHTARG = public.eql_v3_text_match,\n COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_eq_operators.sql\n--! @brief Operators for eql_v3.query_text_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = eql_v3.query_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = eql_v3.query_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_smallint_ord_ore.\n\n--! @brief State function for min on public.eql_v3_smallint_ord_ore.\n--! @param state public.eql_v3_smallint_ord_ore\n--! @param value public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_smallint_ord_ore, value public.eql_v3_smallint_ord_ore)\nRETURNS public.eql_v3_smallint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_smallint_ord_ore.\n--! @param input public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_smallint_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_smallint_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_smallint_ord_ore.\n--! @param state public.eql_v3_smallint_ord_ore\n--! @param value public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_smallint_ord_ore, value public.eql_v3_smallint_ord_ore)\nRETURNS public.eql_v3_smallint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_smallint_ord_ore.\n--! @param input public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_smallint_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_smallint_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_smallint_ord_ope.\n\n--! @brief State function for min on public.eql_v3_smallint_ord_ope.\n--! @param state public.eql_v3_smallint_ord_ope\n--! @param value public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_smallint_ord_ope, value public.eql_v3_smallint_ord_ope)\nRETURNS public.eql_v3_smallint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_smallint_ord_ope.\n--! @param input public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_smallint_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_smallint_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_smallint_ord_ope.\n--! @param state public.eql_v3_smallint_ord_ope\n--! @param value public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_smallint_ord_ope, value public.eql_v3_smallint_ord_ope)\nRETURNS public.eql_v3_smallint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_smallint_ord_ope.\n--! @param input public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_smallint_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_smallint_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_smallint_ord.\n\n--! @brief State function for min on public.eql_v3_smallint_ord.\n--! @param state public.eql_v3_smallint_ord\n--! @param value public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_smallint_ord, value public.eql_v3_smallint_ord)\nRETURNS public.eql_v3_smallint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_smallint_ord.\n--! @param input public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_smallint_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_smallint_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_smallint_ord.\n--! @param state public.eql_v3_smallint_ord\n--! @param value public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_smallint_ord, value public.eql_v3_smallint_ord)\nRETURNS public.eql_v3_smallint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_smallint_ord.\n--! @param input public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_smallint_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_smallint_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_operators.sql\n--! @brief Operators for public.eql_v3_smallint.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_eq_operators.sql\n--! @brief Operators for public.eql_v3_smallint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_smallint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_operators.sql\n--! @brief Operators for eql_v3.query_smallint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_smallint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_eq_operators.sql\n--! @brief Operators for eql_v3.query_smallint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = eql_v3.query_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = eql_v3.query_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_real_ord_ore.\n\n--! @brief State function for min on public.eql_v3_real_ord_ore.\n--! @param state public.eql_v3_real_ord_ore\n--! @param value public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_real_ord_ore, value public.eql_v3_real_ord_ore)\nRETURNS public.eql_v3_real_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_real_ord_ore.\n--! @param input public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_real_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_real_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_real_ord_ore.\n--! @param state public.eql_v3_real_ord_ore\n--! @param value public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_real_ord_ore, value public.eql_v3_real_ord_ore)\nRETURNS public.eql_v3_real_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_real_ord_ore.\n--! @param input public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_real_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_real_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_real_ord_ope.\n\n--! @brief State function for min on public.eql_v3_real_ord_ope.\n--! @param state public.eql_v3_real_ord_ope\n--! @param value public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_real_ord_ope, value public.eql_v3_real_ord_ope)\nRETURNS public.eql_v3_real_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_real_ord_ope.\n--! @param input public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_real_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_real_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_real_ord_ope.\n--! @param state public.eql_v3_real_ord_ope\n--! @param value public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_real_ord_ope, value public.eql_v3_real_ord_ope)\nRETURNS public.eql_v3_real_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_real_ord_ope.\n--! @param input public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_real_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_real_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_real_ord.\n\n--! @brief State function for min on public.eql_v3_real_ord.\n--! @param state public.eql_v3_real_ord\n--! @param value public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_real_ord, value public.eql_v3_real_ord)\nRETURNS public.eql_v3_real_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_real_ord.\n--! @param input public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_real_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_real_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_real_ord.\n--! @param state public.eql_v3_real_ord\n--! @param value public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_real_ord, value public.eql_v3_real_ord)\nRETURNS public.eql_v3_real_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_real_ord.\n--! @param input public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_real_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_real_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_operators.sql\n--! @brief Operators for public.eql_v3_real.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_eq_operators.sql\n--! @brief Operators for public.eql_v3_real_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_real_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_operators.sql\n--! @brief Operators for eql_v3.query_real_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_real_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_eq_operators.sql\n--! @brief Operators for eql_v3.query_real_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = eql_v3.query_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = eql_v3.query_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/ore_fallback.sql\n--! @brief Disable the ORE-backed encrypted domains when the ORE operator class is absent (CIP-3468).\n--!\n--! Runs after the DO block in src/v3/sem/ore_block_256/operator_class.sql,\n--! which ATTEMPTS to create the default btree operator class for\n--! eql_v3_internal.ore_block_256 and skips it on insufficient_privilege\n--! (CREATE OPERATOR CLASS requires superuser; managed platforms — cloud\n--! Supabase and most hosted Postgres — run the installer as a non-superuser\n--! role). When the class was created, this file is a no-op.\n--!\n--! When the class was skipped, the ORE-carrying domains would otherwise\n--! install half-working: `<`/`>` comparisons still run (as unindexable seq\n--! scans), while `CREATE INDEX ... (eql_v3.ord_term(col))` and bare\n--! `ORDER BY` fail with opaque Postgres errors. Instead of that silent\n--! degradation, this file poisons every ORE-carrying domain (and its\n--! query-operand twin) with an always-raising CHECK constraint, so the first\n--! value coerced into the domain fails loudly and points at the\n--! platform-supported alternatives (OPE ordering / HMAC equality /\n--! bloom-filter match).\n--!\n--! Footguns honoured (see the encrypted-domain footgun list in CLAUDE.md):\n--! the poison function is LANGUAGE plpgsql (never inlined, so the RAISE\n--! cannot be planned away) and NOT STRICT (a STRICT function is skipped for\n--! NULL inputs, which would silently let NULLs through the poisoned domain).\n--!\n--! The poison constraints are added NOT VALID. For domains — unlike table\n--! constraints — this does not weaken enforcement: coercion applies every\n--! constraint regardless of validation status, so new casts and inserts\n--! (including NULL) still raise. What it skips is validating existing stored\n--! data: without it, re-running the installer over a database that already\n--! holds ORE values (written under an earlier superuser install, before the\n--! installing role was demoted) would run the always-raising poison against\n--! every stored row and abort the install.\n\nDO $do$\nBEGIN\n IF EXISTS (\n SELECT 1\n FROM pg_catalog.pg_opclass c\n JOIN pg_catalog.pg_am am ON am.oid = c.opcmethod\n WHERE am.amname = 'btree'\n AND c.opcdefault\n AND c.opcintype = 'eql_v3_internal.ore_block_256'::pg_catalog.regtype\n ) THEN\n RETURN;\n END IF;\n\n --! @brief Poison CHECK backing for the ORE-carrying domains on platforms\n --! without the ORE operator class. Always raises; never returns.\n --! @internal\n CREATE FUNCTION eql_v3_internal.ore_domain_unavailable(val jsonb, domain_name text, alternatives text)\n RETURNS boolean\n IMMUTABLE PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\n LANGUAGE plpgsql\n AS $poison$\n BEGIN\n RAISE EXCEPTION 'EQL: % cannot be used on this platform: the EQL installer could not create the ORE operator class (requires superuser, unavailable on e.g. cloud-hosted Supabase)', domain_name\n USING HINT = 'Use ' || alternatives || ' instead.',\n ERRCODE = 'feature_not_supported';\n END;\n $poison$;\n -- NOT VALID: skip validating existing stored data (rows written under an\n -- earlier superuser install must stay readable, and re-installing over them\n -- must not abort). Domain coercion still enforces the CHECK on every new\n -- cast/insert regardless of validation status.\n\n ALTER DOMAIN public.eql_v3_integer_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_integer_ord_ore', 'public.eql_v3_integer_eq (equality) or public.eql_v3_integer_ord (ordering) or public.eql_v3_integer_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_integer_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_integer_ord_ore', 'eql_v3.query_integer_eq (equality) or eql_v3.query_integer_ord (ordering) or eql_v3.query_integer_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_smallint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_smallint_ord_ore', 'public.eql_v3_smallint_eq (equality) or public.eql_v3_smallint_ord (ordering) or public.eql_v3_smallint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_smallint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_smallint_ord_ore', 'eql_v3.query_smallint_eq (equality) or eql_v3.query_smallint_ord (ordering) or eql_v3.query_smallint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_bigint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_bigint_ord_ore', 'public.eql_v3_bigint_eq (equality) or public.eql_v3_bigint_ord (ordering) or public.eql_v3_bigint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_bigint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_bigint_ord_ore', 'eql_v3.query_bigint_eq (equality) or eql_v3.query_bigint_ord (ordering) or eql_v3.query_bigint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_date_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_date_ord_ore', 'public.eql_v3_date_eq (equality) or public.eql_v3_date_ord (ordering) or public.eql_v3_date_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_date_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_date_ord_ore', 'eql_v3.query_date_eq (equality) or eql_v3.query_date_ord (ordering) or eql_v3.query_date_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_timestamp_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_timestamp_ord_ore', 'public.eql_v3_timestamp_eq (equality) or public.eql_v3_timestamp_ord (ordering) or public.eql_v3_timestamp_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_timestamp_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_timestamp_ord_ore', 'eql_v3.query_timestamp_eq (equality) or eql_v3.query_timestamp_ord (ordering) or eql_v3.query_timestamp_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_numeric_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_numeric_ord_ore', 'public.eql_v3_numeric_eq (equality) or public.eql_v3_numeric_ord (ordering) or public.eql_v3_numeric_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_numeric_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_numeric_ord_ore', 'eql_v3.query_numeric_eq (equality) or eql_v3.query_numeric_ord (ordering) or eql_v3.query_numeric_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_text_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_text_ord_ore', 'public.eql_v3_text_eq (equality) or public.eql_v3_text_match (match) or public.eql_v3_text_ord (ordering) or public.eql_v3_text_ord_ope (ordering) or public.eql_v3_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_text_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_text_ord_ore', 'eql_v3.query_text_eq (equality) or eql_v3.query_text_match (match) or eql_v3.query_text_ord (ordering) or eql_v3.query_text_ord_ope (ordering) or eql_v3.query_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_text_search_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_text_search_ore', 'public.eql_v3_text_eq (equality) or public.eql_v3_text_match (match) or public.eql_v3_text_ord (ordering) or public.eql_v3_text_ord_ope (ordering) or public.eql_v3_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_text_search_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_text_search_ore', 'eql_v3.query_text_eq (equality) or eql_v3.query_text_match (match) or eql_v3.query_text_ord (ordering) or eql_v3.query_text_ord_ope (ordering) or eql_v3.query_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_real_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_real_ord_ore', 'public.eql_v3_real_eq (equality) or public.eql_v3_real_ord (ordering) or public.eql_v3_real_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_real_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_real_ord_ore', 'eql_v3.query_real_eq (equality) or eql_v3.query_real_ord (ordering) or eql_v3.query_real_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_double_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_double_ord_ore', 'public.eql_v3_double_eq (equality) or public.eql_v3_double_ord (ordering) or public.eql_v3_double_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_double_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_double_ord_ore', 'eql_v3.query_double_eq (equality) or eql_v3.query_double_ord (ordering) or eql_v3.query_double_ord_ope (ordering)')) NOT VALID;\n\n RAISE NOTICE 'EQL: ORE operator class absent (creation requires superuser) — 20 ORE-backed domains disabled and will raise on use; use the _ord_ope (ordering) and _eq (equality) domains — and text_match for text pattern match — instead';\nEND;\n$do$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_numeric_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_operators.sql\n--! @brief Operators for eql_v3.query_numeric_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_numeric_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_eq_operators.sql\n--! @brief Operators for eql_v3.query_numeric_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = eql_v3.query_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = eql_v3.query_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_numeric_ord_ore.\n\n--! @brief State function for min on public.eql_v3_numeric_ord_ore.\n--! @param state public.eql_v3_numeric_ord_ore\n--! @param value public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_numeric_ord_ore, value public.eql_v3_numeric_ord_ore)\nRETURNS public.eql_v3_numeric_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_numeric_ord_ore.\n--! @param input public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_numeric_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_numeric_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_numeric_ord_ore.\n--! @param state public.eql_v3_numeric_ord_ore\n--! @param value public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_numeric_ord_ore, value public.eql_v3_numeric_ord_ore)\nRETURNS public.eql_v3_numeric_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_numeric_ord_ore.\n--! @param input public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_numeric_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_numeric_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_numeric_ord_ope.\n\n--! @brief State function for min on public.eql_v3_numeric_ord_ope.\n--! @param state public.eql_v3_numeric_ord_ope\n--! @param value public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_numeric_ord_ope, value public.eql_v3_numeric_ord_ope)\nRETURNS public.eql_v3_numeric_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_numeric_ord_ope.\n--! @param input public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_numeric_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_numeric_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_numeric_ord_ope.\n--! @param state public.eql_v3_numeric_ord_ope\n--! @param value public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_numeric_ord_ope, value public.eql_v3_numeric_ord_ope)\nRETURNS public.eql_v3_numeric_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_numeric_ord_ope.\n--! @param input public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_numeric_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_numeric_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_numeric_ord.\n\n--! @brief State function for min on public.eql_v3_numeric_ord.\n--! @param state public.eql_v3_numeric_ord\n--! @param value public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_numeric_ord, value public.eql_v3_numeric_ord)\nRETURNS public.eql_v3_numeric_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_numeric_ord.\n--! @param input public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_numeric_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_numeric_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_numeric_ord.\n--! @param state public.eql_v3_numeric_ord\n--! @param value public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_numeric_ord, value public.eql_v3_numeric_ord)\nRETURNS public.eql_v3_numeric_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_numeric_ord.\n--! @param input public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_numeric_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_numeric_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_operators.sql\n--! @brief Operators for public.eql_v3_numeric.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_eq_operators.sql\n--! @brief Operators for public.eql_v3_numeric_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_integer_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_operators.sql\n--! @brief Operators for eql_v3.query_integer_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_integer_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_eq_operators.sql\n--! @brief Operators for eql_v3.query_integer_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = eql_v3.query_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = eql_v3.query_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_integer_ord_ore.\n\n--! @brief State function for min on public.eql_v3_integer_ord_ore.\n--! @param state public.eql_v3_integer_ord_ore\n--! @param value public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_integer_ord_ore, value public.eql_v3_integer_ord_ore)\nRETURNS public.eql_v3_integer_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_integer_ord_ore.\n--! @param input public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_integer_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_integer_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_integer_ord_ore.\n--! @param state public.eql_v3_integer_ord_ore\n--! @param value public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_integer_ord_ore, value public.eql_v3_integer_ord_ore)\nRETURNS public.eql_v3_integer_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_integer_ord_ore.\n--! @param input public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_integer_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_integer_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_integer_ord_ope.\n\n--! @brief State function for min on public.eql_v3_integer_ord_ope.\n--! @param state public.eql_v3_integer_ord_ope\n--! @param value public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_integer_ord_ope, value public.eql_v3_integer_ord_ope)\nRETURNS public.eql_v3_integer_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_integer_ord_ope.\n--! @param input public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_integer_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_integer_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_integer_ord_ope.\n--! @param state public.eql_v3_integer_ord_ope\n--! @param value public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_integer_ord_ope, value public.eql_v3_integer_ord_ope)\nRETURNS public.eql_v3_integer_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_integer_ord_ope.\n--! @param input public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_integer_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_integer_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_integer_ord.\n\n--! @brief State function for min on public.eql_v3_integer_ord.\n--! @param state public.eql_v3_integer_ord\n--! @param value public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_integer_ord, value public.eql_v3_integer_ord)\nRETURNS public.eql_v3_integer_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_integer_ord.\n--! @param input public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_integer_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_integer_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_integer_ord.\n--! @param state public.eql_v3_integer_ord\n--! @param value public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_integer_ord, value public.eql_v3_integer_ord)\nRETURNS public.eql_v3_integer_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_integer_ord.\n--! @param input public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_integer_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_integer_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_operators.sql\n--! @brief Operators for public.eql_v3_integer.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_eq_operators.sql\n--! @brief Operators for public.eql_v3_integer_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_double_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_operators.sql\n--! @brief Operators for eql_v3.query_double_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_double_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_eq_operators.sql\n--! @brief Operators for eql_v3.query_double_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = eql_v3.query_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = eql_v3.query_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_double_ord_ore.\n\n--! @brief State function for min on public.eql_v3_double_ord_ore.\n--! @param state public.eql_v3_double_ord_ore\n--! @param value public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_double_ord_ore, value public.eql_v3_double_ord_ore)\nRETURNS public.eql_v3_double_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_double_ord_ore.\n--! @param input public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_double_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_double_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_double_ord_ore.\n--! @param state public.eql_v3_double_ord_ore\n--! @param value public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_double_ord_ore, value public.eql_v3_double_ord_ore)\nRETURNS public.eql_v3_double_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_double_ord_ore.\n--! @param input public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_double_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_double_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_double_ord_ope.\n\n--! @brief State function for min on public.eql_v3_double_ord_ope.\n--! @param state public.eql_v3_double_ord_ope\n--! @param value public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_double_ord_ope, value public.eql_v3_double_ord_ope)\nRETURNS public.eql_v3_double_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_double_ord_ope.\n--! @param input public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_double_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_double_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_double_ord_ope.\n--! @param state public.eql_v3_double_ord_ope\n--! @param value public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_double_ord_ope, value public.eql_v3_double_ord_ope)\nRETURNS public.eql_v3_double_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_double_ord_ope.\n--! @param input public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_double_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_double_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_double_ord.\n\n--! @brief State function for min on public.eql_v3_double_ord.\n--! @param state public.eql_v3_double_ord\n--! @param value public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_double_ord, value public.eql_v3_double_ord)\nRETURNS public.eql_v3_double_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_double_ord.\n--! @param input public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_double_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_double_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_double_ord.\n--! @param state public.eql_v3_double_ord\n--! @param value public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_double_ord, value public.eql_v3_double_ord)\nRETURNS public.eql_v3_double_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_double_ord.\n--! @param input public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_double_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_double_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_operators.sql\n--! @brief Operators for public.eql_v3_double.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_eq_operators.sql\n--! @brief Operators for public.eql_v3_double_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_date_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_operators.sql\n--! @brief Operators for eql_v3.query_date_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_date_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_eq_operators.sql\n--! @brief Operators for eql_v3.query_date_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = eql_v3.query_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = eql_v3.query_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_date_ord_ore.\n\n--! @brief State function for min on public.eql_v3_date_ord_ore.\n--! @param state public.eql_v3_date_ord_ore\n--! @param value public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_date_ord_ore, value public.eql_v3_date_ord_ore)\nRETURNS public.eql_v3_date_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_date_ord_ore.\n--! @param input public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_date_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_date_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_date_ord_ore.\n--! @param state public.eql_v3_date_ord_ore\n--! @param value public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_date_ord_ore, value public.eql_v3_date_ord_ore)\nRETURNS public.eql_v3_date_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_date_ord_ore.\n--! @param input public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_date_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_date_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_date_ord_ope.\n\n--! @brief State function for min on public.eql_v3_date_ord_ope.\n--! @param state public.eql_v3_date_ord_ope\n--! @param value public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_date_ord_ope, value public.eql_v3_date_ord_ope)\nRETURNS public.eql_v3_date_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_date_ord_ope.\n--! @param input public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_date_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_date_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_date_ord_ope.\n--! @param state public.eql_v3_date_ord_ope\n--! @param value public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_date_ord_ope, value public.eql_v3_date_ord_ope)\nRETURNS public.eql_v3_date_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_date_ord_ope.\n--! @param input public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_date_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_date_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_date_ord.\n\n--! @brief State function for min on public.eql_v3_date_ord.\n--! @param state public.eql_v3_date_ord\n--! @param value public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_date_ord, value public.eql_v3_date_ord)\nRETURNS public.eql_v3_date_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_date_ord.\n--! @param input public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_date_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_date_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_date_ord.\n--! @param state public.eql_v3_date_ord\n--! @param value public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_date_ord, value public.eql_v3_date_ord)\nRETURNS public.eql_v3_date_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_date_ord.\n--! @param input public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_date_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_date_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_operators.sql\n--! @brief Operators for public.eql_v3_date.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_eq_operators.sql\n--! @brief Operators for public.eql_v3_date_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/boolean/boolean_operators.sql\n--! @brief Operators for public.eql_v3_boolean.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_bigint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_operators.sql\n--! @brief Operators for eql_v3.query_bigint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_bigint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_eq_operators.sql\n--! @brief Operators for eql_v3.query_bigint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = eql_v3.query_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = eql_v3.query_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_bigint_ord_ore.\n\n--! @brief State function for min on public.eql_v3_bigint_ord_ore.\n--! @param state public.eql_v3_bigint_ord_ore\n--! @param value public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_bigint_ord_ore, value public.eql_v3_bigint_ord_ore)\nRETURNS public.eql_v3_bigint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_bigint_ord_ore.\n--! @param input public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_bigint_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_bigint_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_bigint_ord_ore.\n--! @param state public.eql_v3_bigint_ord_ore\n--! @param value public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_bigint_ord_ore, value public.eql_v3_bigint_ord_ore)\nRETURNS public.eql_v3_bigint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_bigint_ord_ore.\n--! @param input public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_bigint_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_bigint_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_bigint_ord_ope.\n\n--! @brief State function for min on public.eql_v3_bigint_ord_ope.\n--! @param state public.eql_v3_bigint_ord_ope\n--! @param value public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_bigint_ord_ope, value public.eql_v3_bigint_ord_ope)\nRETURNS public.eql_v3_bigint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_bigint_ord_ope.\n--! @param input public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_bigint_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_bigint_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_bigint_ord_ope.\n--! @param state public.eql_v3_bigint_ord_ope\n--! @param value public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_bigint_ord_ope, value public.eql_v3_bigint_ord_ope)\nRETURNS public.eql_v3_bigint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_bigint_ord_ope.\n--! @param input public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_bigint_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_bigint_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_bigint_ord.\n\n--! @brief State function for min on public.eql_v3_bigint_ord.\n--! @param state public.eql_v3_bigint_ord\n--! @param value public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_bigint_ord, value public.eql_v3_bigint_ord)\nRETURNS public.eql_v3_bigint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_bigint_ord.\n--! @param input public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_bigint_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_bigint_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_bigint_ord.\n--! @param state public.eql_v3_bigint_ord\n--! @param value public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_bigint_ord, value public.eql_v3_bigint_ord)\nRETURNS public.eql_v3_bigint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_bigint_ord.\n--! @param input public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_bigint_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_bigint_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_operators.sql\n--! @brief Operators for public.eql_v3_bigint.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_eq_operators.sql\n--! @brief Operators for public.eql_v3_bigint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\n--! @brief EQL lint: detect non-inlinable operator implementation functions\n--!\n--! Returns one row per violation found in the installed `eql_v3` surface. The\n--! Postgres planner can only inline a function during index matching when:\n--!\n--! * `LANGUAGE sql` (plpgsql / C / etc. cannot be inlined)\n--! * `IMMUTABLE` or `STABLE` volatility (VOLATILE cannot be inlined into\n--! index expressions)\n--! * No `SET` clauses (e.g. `SET search_path = ...`)\n--! * Not `SECURITY DEFINER`\n--! * Single-statement SELECT body\n--!\n--! @note The single-statement SELECT body condition is **not yet checked** by\n--! this lint. A `LANGUAGE sql` function with a multi-statement body, a CTE,\n--! or any pre-SELECT statement will pass all four implemented checks while\n--! remaining non-inlinable. Implementing the check requires walking `prosrc`\n--! (or `pg_get_functiondef`); tracked as a follow-up.\n--!\n--! Operators on `eql_v3` types (the jsonb-backed encrypted-domain families and\n--! the SEM index-term type `eql_v3_internal.ore_block_256`) whose\n--! implementation functions fail any of these rules silently fall back to seq\n--! scan when the documented functional indexes (`eql_v3.eq_term(col)`,\n--! `eql_v3.ord_term(col)`) are in place. This lint surfaces every such case.\n--!\n--! Severity:\n--! `error` — fixable, blocks index matching, ship-blocking.\n--! `warning` — likely-fixable, may not block matching but signals intent.\n--! `info` — observational; useful for review, not a defect on its own.\n--!\n--! Categories:\n--! `inlinability_language` — implementation function isn't `LANGUAGE sql`.\n--! `inlinability_volatility` — implementation function is VOLATILE.\n--! `inlinability_set_clause` — implementation function has a `SET` clause.\n--! `inlinability_secdef` — implementation function is `SECURITY DEFINER`.\n--! `inlinability_transitive` — implementation function is itself inlinable\n--! but its body invokes a non-inlinable function\n--! (depth 1; the planner can't peek through\n--! that boundary).\n--! `blocker_language` — encrypted-domain blocker is not LANGUAGE\n--! plpgsql. The planner can inline / elide a\n--! LANGUAGE sql body when the result is\n--! provably unused, silently bypassing the\n--! RAISE that the blocker exists to perform.\n--! `blocker_strict` — encrypted-domain blocker is STRICT.\n--! PostgreSQL skips the body and returns NULL\n--! on NULL arguments, silently bypassing the\n--! RAISE.\n--! `domain_over_domain` — an `eql_v3` encrypted domain is derived from\n--! another encrypted domain rather than jsonb.\n--! Operators resolve against the ultimate base\n--! type, so the derived domain does not\n--! inherit the base domain's blocker surface.\n--! `domain_opclass` — an operator class is declared FOR TYPE on an\n--! `eql_v3` encrypted domain. Opclasses on\n--! domains bypass operator resolution; use a\n--! functional index on the extractor instead.\n--! `schema_placement` — a naked composite or enum TYPE lives in the\n--! public `eql_v3` schema. Internal index-term\n--! types (e.g. `ore_block_256_term`) belong in\n--! `eql_v3_internal`; a composite/enum in\n--! `eql_v3` clutters the Supabase Table Builder\n--! type picker, which the schema split exists to\n--! prevent. Move it to `eql_v3_internal`.\n--!\n--! @example\n--! ```\n--! SELECT severity, category, object_name, message\n--! FROM eql_v3.lints()\n--! WHERE severity = 'error'\n--! ORDER BY category, object_name;\n--! ```\n--!\n--! @return SETOF record (severity text, category text, object_name text, message text)\nCREATE OR REPLACE FUNCTION eql_v3.lints()\nRETURNS TABLE (\n severity text,\n category text,\n object_name text,\n message text\n)\nLANGUAGE sql STABLE\nAS $$\n WITH\n -- User-column encrypted domains now live in public so application tables\n -- survive EQL uninstall. Keep this separate from owned_schemas(): public is\n -- not installer-owned, but its EQL jsonb-backed domains are still the domain\n -- types whose blockers/operator surfaces the lint must understand.\n encrypted_domain_types AS (\n SELECT\n dt.oid AS typid\n FROM pg_catalog.pg_type dt\n JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace\n JOIN pg_catalog.pg_type bt ON bt.oid = dt.typbasetype\n JOIN pg_catalog.pg_namespace bn ON bn.oid = bt.typnamespace\n WHERE dt.typtype = 'd'\n AND bt.typname = 'jsonb'\n AND bn.nspname = 'pg_catalog'\n AND (\n dn.nspname = 'public'\n OR dn.nspname = ANY(eql_v3_internal.owned_schemas())\n )\n ),\n\n -- All operators where at least one operand is an EQL-owned type or a public\n -- encrypted domain. Limits the scope of the lint to the operator surface\n -- customers actually hit via SQL (`col = val`, `col @> '...'` and friends).\n eql_operators AS (\n SELECT\n op.oid AS oprid,\n op.oprname AS opname,\n op.oprcode AS implfunc,\n op.oprleft::regtype AS lhs,\n op.oprright::regtype AS rhs,\n op.oprcode::regprocedure AS impl_signature\n FROM pg_operator op\n WHERE EXISTS (\n SELECT 1 FROM pg_type t\n WHERE t.oid IN (op.oprleft, op.oprright)\n AND (\n t.typnamespace IN (SELECT oid FROM pg_namespace WHERE nspname = ANY(eql_v3_internal.owned_schemas()))\n OR t.oid IN (SELECT typid FROM encrypted_domain_types)\n )\n )\n ),\n\n -- Cross-join with each operator's implementation function metadata.\n -- One row per operator; columns describe the inlinability of the impl.\n op_impl AS (\n SELECT\n eo.opname,\n eo.lhs,\n eo.rhs,\n eo.implfunc AS impl_oid,\n eo.impl_signature::text AS impl_signature,\n lang_l.lanname AS lang,\n p.provolatile AS volatility,\n p.proconfig AS config,\n p.prosecdef AS secdef,\n p.prosrc AS body\n FROM eql_operators eo\n JOIN pg_proc p ON p.oid = eo.implfunc\n JOIN pg_language lang_l ON lang_l.oid = p.prolang\n ),\n\n -- Encrypted-domain blockers: functions in `eql_v3` whose body contains\n -- a blocker marker emitted by the codegen (any of the\n -- `encrypted_domain_unsupported_*` helper calls — `_bool` for boolean\n -- blockers, `_jsonb` for the native-jsonb-operator blockers; plus the\n -- literal `is not supported for` for older path-operator blockers) AND\n -- that take at least one encrypted domain over jsonb argument. The argument\n -- filter excludes the shared `encrypted_domain_unsupported_*(text, text)`\n -- helpers themselves, which contain the marker in their body but are not\n -- blockers (they take text arguments, not a domain).\n encrypted_domain_blockers AS (\n SELECT\n p.oid AS oid,\n p.oid::regprocedure::text AS signature,\n lang_l.lanname AS lang,\n p.proisstrict AS isstrict\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n JOIN pg_catalog.pg_language lang_l ON lang_l.oid = p.prolang\n WHERE n.nspname = ANY(eql_v3_internal.owned_schemas())\n AND (p.prosrc LIKE '%encrypted_domain_unsupported%'\n OR p.prosrc LIKE '%is not supported for%')\n AND EXISTS (\n SELECT 1\n FROM pg_catalog.unnest(p.proargtypes::oid[]) AS arg(typ)\n JOIN encrypted_domain_types edt ON edt.typid = arg.typ\n )\n )\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Direct inlinability checks: each row examines one operator's │\n -- │ implementation function and emits a violation if any rule is │\n -- │ broken. Multiple violations on the same function become │\n -- │ multiple rows (developers see every reason it doesn't inline). │\n -- └─────────────────────────────────────────────────────────────────┘\n\n SELECT\n 'error' AS severity,\n 'inlinability_language' AS category,\n format('operator %s(%s, %s) -> %s',\n opname, lhs, rhs, impl_signature) AS object_name,\n format(\n 'Operator implementation function is `LANGUAGE %s`; only `LANGUAGE sql` functions can be inlined by the planner. Bare `col %s val` queries fall back to seq scan even when a matching functional index exists.',\n lang, opname) AS message\n FROM op_impl\n WHERE lang <> 'sql'\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_volatility',\n format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature),\n format(\n 'Operator implementation function is `VOLATILE`. The Postgres planner refuses to inline volatile functions into index expressions, so functional indexes never engage. Mark the function `IMMUTABLE` (or `STABLE` if it depends on session state).',\n opname)\n FROM op_impl\n WHERE volatility = 'v'\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_set_clause',\n format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature),\n format(\n 'Operator implementation function has a `SET` clause (e.g. `SET search_path = ...`). Per Postgres function-inlining rules, any `SET` clause blocks inlining. Use schema-qualified identifiers in the body and remove the `SET` clause to allow the planner to inline.')\n FROM op_impl\n WHERE config IS NOT NULL\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_secdef',\n format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature),\n 'Operator implementation function is `SECURITY DEFINER`. Such functions cannot be inlined; remove `SECURITY DEFINER` or use a non-inlinable wrapper layer.'\n FROM op_impl\n WHERE secdef\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Transitive inlinability: an operator implementation function │\n -- │ that's itself inlinable can still fail to inline if its body │\n -- │ calls a non-inlinable function. Walk one level via pg_depend. │\n -- │ │\n -- │ Postgres records function-to-function dependencies in │\n -- │ pg_depend with deptype 'n' (normal) when one function references│\n -- │ another in its body — but only at CREATE time and only for │\n -- │ direct calls. This is good enough for v1; deeper transitive │\n -- │ analysis is a follow-up. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_transitive',\n format('operator %s(%s, %s) -> %s', oi.opname, oi.lhs, oi.rhs,\n oi.impl_signature),\n format(\n 'Operator implementation function is inlinable but invokes non-inlinable function `%s` (lang=%s, volatility=%s%s). The chain blocks at depth 1: the planner inlines the outer call but cannot reduce the inner call into an index expression.',\n called.proname,\n called_lang.lanname,\n CASE called.provolatile\n WHEN 'i' THEN 'IMMUTABLE'\n WHEN 's' THEN 'STABLE'\n WHEN 'v' THEN 'VOLATILE'\n END,\n CASE WHEN called.proconfig IS NOT NULL\n THEN ', has SET clause'\n ELSE '' END)\n FROM op_impl oi\n -- Only worth the transitive check if the outer function is otherwise\n -- inlinable — otherwise the direct lints above already report it.\n JOIN pg_proc outer_p ON outer_p.oid = oi.impl_signature::regprocedure\n JOIN pg_depend d\n ON d.classid = 'pg_proc'::regclass\n AND d.objid = outer_p.oid\n AND d.refclassid = 'pg_proc'::regclass\n AND d.deptype = 'n'\n JOIN pg_proc called ON called.oid = d.refobjid\n JOIN pg_language called_lang ON called_lang.oid = called.prolang\n WHERE oi.lang = 'sql'\n AND oi.volatility IN ('i', 's')\n AND oi.config IS NULL\n AND NOT oi.secdef\n AND called.oid <> outer_p.oid\n AND (\n called_lang.lanname <> 'sql'\n OR called.provolatile = 'v'\n OR called.proconfig IS NOT NULL\n OR called.prosecdef\n )\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Encrypted-domain footguns: blockers exist to RAISE, so they │\n -- │ have inverted inlinability requirements vs operator impls. │\n -- │ A LANGUAGE sql blocker can be elided by the planner; a STRICT │\n -- │ blocker returns NULL on NULL args. Both silently re-enable │\n -- │ operators the storage variant is supposed to block. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'blocker_language',\n format('function %s', signature),\n format(\n 'Encrypted-domain blocker is `LANGUAGE %s`; must be `LANGUAGE plpgsql` so the RAISE is opaque to the planner. A `LANGUAGE sql` body is inlinable and may be elided when the result is provably unused, silently re-enabling the operator.',\n lang)\n FROM encrypted_domain_blockers\n WHERE lang <> 'plpgsql'\n\n UNION ALL\n\n SELECT\n 'error',\n 'blocker_strict',\n format('function %s', signature),\n 'Encrypted-domain blocker is `STRICT`. PostgreSQL skips the body and returns NULL on a NULL argument, silently bypassing the RAISE. Remove `STRICT`.'\n FROM encrypted_domain_blockers\n WHERE isstrict\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Domain identity: an encrypted-domain must be defined directly │\n -- │ over jsonb. Operators resolve against the ultimate base type, │\n -- │ so domain-over-domain inherits jsonb's operator surface and not │\n -- │ the base domain's blockers. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'domain_over_domain',\n format('domain %I.%I', dn.nspname, dt.typname),\n format(\n 'Domain `%s.%s` is derived from another encrypted-domain `%s.%s` rather than jsonb. Operators resolve against the ultimate base type, so the derived domain does not inherit the base domain''s operator surface and storage blockers do not engage. Define this domain directly over jsonb.',\n dn.nspname, dt.typname, bn.nspname, bt.typname)\n FROM pg_catalog.pg_type dt\n JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace\n JOIN pg_catalog.pg_type bt ON bt.oid = dt.typbasetype\n JOIN pg_catalog.pg_namespace bn ON bn.oid = bt.typnamespace\n WHERE dt.typtype = 'd'\n AND dn.nspname = ANY(eql_v3_internal.owned_schemas())\n AND bt.typtype = 'd'\n AND bt.oid IN (SELECT typid FROM encrypted_domain_types)\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Domain opclass: an operator class declared FOR TYPE on an │\n -- │ encrypted-domain bypasses operator resolution at index time. │\n -- │ Use a functional index on the extractor instead. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'domain_opclass',\n format('opclass %I.%I FOR TYPE %s.%s', cn.nspname, oc.opcname, tn.nspname, t.typname),\n format(\n 'Operator class `%s.%s` is declared FOR TYPE `%s.%s`, which is an encrypted-domain type. Opclasses on domains bypass operator resolution. Use a functional index on the extractor (e.g. `%s.eq_term(col)`, `%s.ord_term(col)`) instead.',\n cn.nspname, oc.opcname, tn.nspname, t.typname, tn.nspname, tn.nspname)\n FROM pg_catalog.pg_opclass oc\n JOIN pg_catalog.pg_type t ON t.oid = oc.opcintype\n JOIN pg_catalog.pg_namespace tn ON tn.oid = t.typnamespace\n JOIN pg_catalog.pg_namespace cn ON cn.oid = oc.opcnamespace\n WHERE t.oid IN (SELECT typid FROM encrypted_domain_types)\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Schema placement: the public `eql_v3` schema must hold only the │\n -- │ jsonb-backed encrypted-domain types. A naked composite/enum type │\n -- │ there is an internal index-term type in the wrong schema — it │\n -- │ clutters the Supabase type picker the split exists to keep clean. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'schema_placement',\n format('type %I.%I', n.nspname, t.typname),\n format(\n 'Type `%s.%s` is a %s in the public `eql_v3` schema. Only jsonb-backed encrypted-domain types belong in `eql_v3`; internal index-term types belong in `eql_v3_internal` so they stay out of the Supabase Table Builder type picker. Move it to `eql_v3_internal`.',\n n.nspname, t.typname,\n CASE t.typtype WHEN 'c' THEN 'composite type' WHEN 'e' THEN 'enum type' ELSE 'type' END)\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n WHERE n.nspname = 'eql_v3'\n AND t.typtype IN ('c', 'e')\n\n ORDER BY 1, 2, 3;\n$$;\n\nCOMMENT ON FUNCTION eql_v3.lints() IS\n 'EQL lint: returns one row per non-inlinable operator implementation. '\n 'Run `SELECT * FROM eql_v3.lints() WHERE severity = ''error''` for a '\n 'CI-gateable check that all operator implementations on eql_v3 types are '\n 'eligible for planner inlining.';\n\n--! @file v3/jsonb/operators.sql\n--! @brief Operators on public.eql_v3_json_search and public.eql_v3_jsonb_entry.\n\n------------------------------------------------------------------------------\n-- -> field accessor (returns jsonb_entry)\n------------------------------------------------------------------------------\n\n--! @brief -> operator with text selector.\n--!\n--! Returns the sv entry whose `s` equals @p selector, with root `i`/`v` merged\n--! in. Inlinable: `WHERE col -> 'sel' = $1` reduces structurally to\n--! `eql_v3.eq_term(col -> 'sel') = eql_v3.eq_term($1)` and matches a functional\n--! index on `eql_v3.eq_term(col -> 'sel')`.\n--!\n--! @warning The selector operand MUST carry a known type — a text-typed\n--! parameter (`$1`, the Proxy interface) or an explicit cast (`col -> 'sel'::%text`).\n--! A bare untyped literal (`col -> 'sel'`) resolves to the NATIVE `jsonb -> %text`\n--! operator and silently returns native jsonb semantics (a root-key lookup,\n--! typically NULL), NOT this operator: PostgreSQL reduces the `public.eql_v3_json_search`\n--! domain to its base type `jsonb` when resolving an unknown-typed RHS, and the\n--! native base-type operator wins the exact-match tiebreak. This is intrinsic to\n--! the domain type-kind and applies to the native-jsonb blockers too. See\n--! the \"Typed operands\" caveat in docs/reference/json-support.md.\n--!\n--! @param e public.eql_v3_json_search Root encrypted payload.\n--! @param selector text Selector hash.\n--! @return public.eql_v3_jsonb_entry Matching entry merged with root meta, or NULL.\nCREATE FUNCTION eql_v3.\"->\"(e public.eql_v3_json_search, selector text)\n RETURNS public.eql_v3_jsonb_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (\n eql_v3.meta_data(e) ||\n jsonb_path_query_first(\n e,\n '$.sv[*] ? (@.s == $sel)'::jsonpath,\n jsonb_build_object('sel', selector)\n )\n )::public.eql_v3_jsonb_entry\n$$;\n\nCREATE OPERATOR ->(\n FUNCTION=eql_v3.\"->\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=text\n);\n\n--! @brief -> operator with integer array index (0-based, JSONB convention).\n--! @param e public.eql_v3_json_search Encrypted sv-array payload.\n--! @param selector integer Array index.\n--! @return public.eql_v3_jsonb_entry Matching entry merged with root meta, or NULL.\nCREATE FUNCTION eql_v3.\"->\"(e public.eql_v3_json_search, selector integer)\n RETURNS public.eql_v3_jsonb_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT CASE\n WHEN eql_v3_internal.is_ste_vec_array(e) THEN\n -- NOTE: `e::jsonb` makes the native-jsonb traversal explicit. `'sv'` is an\n -- unknown-typed literal, so `e -> 'sv'` already flattens `public.eql_v3_json_search` to\n -- its base type and binds native `jsonb -> text` (see the @warning above) —\n -- the custom `->(public.eql_v3_json_search, text)` operator does NOT capture a bare\n -- untyped literal. The cast documents that intent and guards the `-> selector`\n -- (integer) hop from ever resolving to the v3 `->(public.eql_v3_json_search, integer)`\n -- operator instead of native array access.\n (eql_v3.meta_data(e) || (e::jsonb -> 'sv' -> selector))::public.eql_v3_jsonb_entry\n ELSE NULL\n END\n$$;\n\nCREATE OPERATOR ->(\n FUNCTION=eql_v3.\"->\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=integer\n);\n\n------------------------------------------------------------------------------\n-- ->> field accessor (alias of -> coerced to text)\n------------------------------------------------------------------------------\n\n--! @brief ->> operator with text selector. Inlinable alias of -> coerced to\n--! text.\n--!\n--! Intentional v2 parity: this serializes the entire matched jsonb_entry\n--! object as JSON text. It does not decrypt or return scalar plaintext like\n--! native `jsonb ->>`.\n--! @param e public.eql_v3_json_search Encrypted payload.\n--! @param selector text Field selector hash.\n--! @return text The matching entry as text.\nCREATE FUNCTION eql_v3.\"->>\"(e public.eql_v3_json_search, selector text)\n RETURNS text\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"->\"(e, selector)::jsonb::text\n$$;\n\nCREATE OPERATOR ->> (\n FUNCTION=eql_v3.\"->>\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=text\n);\n\n--! @brief ->> operator with integer array index. Inlinable alias of\n--! ->(json, integer) coerced to text.\n--! @param e public.eql_v3_json_search Encrypted sv-array payload.\n--! @param selector integer Array index.\n--! @return text The matching entry as text.\nCREATE FUNCTION eql_v3.\"->>\"(e public.eql_v3_json_search, selector integer)\n RETURNS text\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"->\"(e, selector)::jsonb::text\n$$;\n\nCREATE OPERATOR ->> (\n FUNCTION=eql_v3.\"->>\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=integer\n);\n\n------------------------------------------------------------------------------\n-- @> containment\n------------------------------------------------------------------------------\n\n--! @brief @> contains operator (document, document).\n--! @param a public.eql_v3_json_search Container.\n--! @param b public.eql_v3_json_search Contained value.\n--! @return boolean True if a contains b.\n--! @see eql_v3.ste_vec_contains\nCREATE FUNCTION eql_v3.\"@>\"(a public.eql_v3_json_search, b public.eql_v3_json_search)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ste_vec_contains(a, b)\n$$;\n\nCREATE OPERATOR @>(\n FUNCTION=eql_v3.\"@>\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=public.eql_v3_json_search\n);\n\n--! @brief @> contains operator with an query_json needle.\n--!\n--! Inlines to native `jsonb @>` over `eql_v3.to_ste_vec_query(a)::jsonb`, so a\n--! functional GIN index on the same expression engages.\n--!\n--! @param a public.eql_v3_json_search Container.\n--! @param b eql_v3.query_json Query payload.\n--! @return boolean True if a contains b.\nCREATE FUNCTION eql_v3.\"@>\"(a public.eql_v3_json_search, b eql_v3.query_json)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.to_ste_vec_query(a)::jsonb @> b::jsonb\n$$;\n\nCREATE OPERATOR @>(\n FUNCTION=eql_v3.\"@>\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=eql_v3.query_json\n);\n\n--! @brief @> contains operator with a single jsonb_entry needle.\n--!\n--! Wraps the entry into a single-element sv array (stripping `c`) and reduces\n--! to the same `to_ste_vec_query(a)::jsonb @> needle::jsonb` form.\n--!\n--! @param a public.eql_v3_json_search Container.\n--! @param b public.eql_v3_jsonb_entry Single entry.\n--! @return boolean True if a contains an sv entry matching b.\nCREATE FUNCTION eql_v3.\"@>\"(a public.eql_v3_json_search, b public.eql_v3_jsonb_entry)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.to_ste_vec_query(a)::jsonb\n @> jsonb_build_object(\n 'sv',\n jsonb_build_array(\n jsonb_strip_nulls(\n jsonb_build_object(\n 's', b -> 's',\n 'hm', b -> 'hm',\n 'op', b -> 'op'\n )\n )\n )\n )\n$$;\n\nCREATE OPERATOR @>(\n FUNCTION=eql_v3.\"@>\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=public.eql_v3_jsonb_entry\n);\n\n------------------------------------------------------------------------------\n-- <@ contained-by (reverse of @>)\n------------------------------------------------------------------------------\n\n--! @brief <@ contained-by operator (document, document).\n--! @param a public.eql_v3_json_search Contained value.\n--! @param b public.eql_v3_json_search Container.\n--! @return boolean True if a is contained by b.\nCREATE FUNCTION eql_v3.\"<@\"(a public.eql_v3_json_search, b public.eql_v3_json_search)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ste_vec_contains(b, a)\n$$;\n\nCREATE OPERATOR <@(\n FUNCTION=eql_v3.\"<@\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=public.eql_v3_json_search\n);\n\n--! @brief <@ contained-by operator with an query_json LHS.\n--! @param a eql_v3.query_json Query payload.\n--! @param b public.eql_v3_json_search Container.\n--! @return boolean True if b contains a.\nCREATE FUNCTION eql_v3.\"<@\"(a eql_v3.query_json, b public.eql_v3_json_search)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"@>\"(b, a)\n$$;\n\nCREATE OPERATOR <@(\n FUNCTION=eql_v3.\"<@\",\n LEFTARG=eql_v3.query_json,\n RIGHTARG=public.eql_v3_json_search\n);\n\n--! @brief <@ contained-by operator with a jsonb_entry LHS.\n--! @param a public.eql_v3_jsonb_entry Single entry.\n--! @param b public.eql_v3_json_search Container.\n--! @return boolean True if b contains a.\nCREATE FUNCTION eql_v3.\"<@\"(a public.eql_v3_jsonb_entry, b public.eql_v3_json_search)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"@>\"(b, a)\n$$;\n\nCREATE OPERATOR <@(\n FUNCTION=eql_v3.\"<@\",\n LEFTARG=public.eql_v3_jsonb_entry,\n RIGHTARG=public.eql_v3_json_search\n);\n\n------------------------------------------------------------------------------\n-- jsonb_entry comparisons\n------------------------------------------------------------------------------\n\n--! @brief Equality on jsonb_entry via eq_term (hm-or-op byte equality).\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if the entries are equal\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b)\n$$;\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = =,\n NEGATOR = <>,\n RESTRICT = eqsel,\n JOIN = eqjoinsel\n);\n\n--! @brief Inequality on jsonb_entry via eq_term.\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if the entries are not equal\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b)\n$$;\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = <>,\n NEGATOR = =,\n RESTRICT = neqsel,\n JOIN = neqjoinsel\n);\n\n--! @brief Less-than on jsonb_entry via the CLLW OPE term (native bytea order).\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if a is less than b\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = >,\n NEGATOR = >=,\n RESTRICT = scalarltsel,\n JOIN = scalarltjoinsel\n);\n\n--! @brief Less-than-or-equal on jsonb_entry via the CLLW OPE term.\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if a is less than or equal to b\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = >=,\n NEGATOR = >,\n RESTRICT = scalarlesel,\n JOIN = scalarlejoinsel\n);\n\n--! @brief Greater-than on jsonb_entry via the CLLW OPE term.\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if a is greater than b\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = <,\n NEGATOR = <=,\n RESTRICT = scalargtsel,\n JOIN = scalargtjoinsel\n);\n\n--! @brief Greater-than-or-equal on jsonb_entry via the CLLW OPE term.\n--! @param a public.eql_v3_jsonb_entry Left operand\n--! @param b public.eql_v3_jsonb_entry Right operand\n--! @return boolean True if a is greater than or equal to b\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_jsonb_entry, b public.eql_v3_jsonb_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_jsonb_entry,\n RIGHTARG = public.eql_v3_jsonb_entry,\n COMMUTATOR = <=,\n NEGATOR = <,\n RESTRICT = scalargesel,\n JOIN = scalargejoinsel\n);\n\n--! @file v3/jsonb/blockers.sql\n--! @brief Native-jsonb firewall for public.eql_v3_json_search.\n--!\n--! public.eql_v3_json_search SUPPORTS @> <@ -> ->> (see operators.sql). Comparisons\n--! = <> < <= > >= are supported on public.eql_v3_jsonb_entry only, not on the root\n--! document domain.\n--! Every OTHER native jsonb operator reachable via domain fallback against the\n--! base type jsonb is BLOCKED here so an encrypted column can never silently\n--! route to plaintext-jsonb semantics. The blocked set is KNOWN_JSONB_OPERATORS\n--! minus the supported ops: ? ?| ?& @? @@ #> #>> - #- ||.\n--!\n--! Each blocker is LANGUAGE plpgsql (NEVER STRICT — a STRICT blocker would let\n--! PostgreSQL skip the body and return NULL on a NULL argument, bypassing the\n--! exception) and delegates to the shared eql_v3.encrypted_domain_unsupported_*\n--! helpers. Each blocker's RETURNS type matches the native operator it shadows\n--! (#> -> jsonb, #>> -> text, - / #- / || -> jsonb; the rest are boolean) so a\n--! composed expression resolves and the body raises 'operator not supported',\n--! rather than failing earlier with a misleading 'operator does not exist' on a\n--! boolean intermediate. The bound operator must resolve before native fallback,\n--! so the firewall fires.\n\n--! @brief Blocker: ? (key/element exists).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_exists(a public.eql_v3_json_search, b text)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '?');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.jsonb_blocked_exists,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text\n);\n\n--! @brief Blocker: ?| (any key exists).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_exists_any(a public.eql_v3_json_search, b text[])\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '?|');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.jsonb_blocked_exists_any,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: ?& (all keys exist).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_exists_all(a public.eql_v3_json_search, b text[])\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '?&');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.jsonb_blocked_exists_all,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: @? (jsonpath exists).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonpath Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_jsonpath_exists(a public.eql_v3_json_search, b jsonpath)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '@?');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.jsonb_blocked_jsonpath_exists,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonpath\n);\n\n--! @brief Blocker: @@ (jsonpath predicate).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonpath Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_jsonpath_match(a public.eql_v3_json_search, b jsonpath)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '@@');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_jsonpath_match,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonpath\n);\n\n--! @brief Blocker: #> (path extract, native returns jsonb).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_path_extract(a public.eql_v3_json_search, b text[])\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '#>');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.jsonb_blocked_path_extract,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: #>> (path extract as text).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return text Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_path_extract_text(a public.eql_v3_json_search, b text[])\nRETURNS text\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_text('public.eql_v3_json_search', '#>>');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.jsonb_blocked_path_extract_text,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: - (delete key, text RHS; native returns jsonb).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_text(a public.eql_v3_json_search, b text)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_text,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text\n);\n\n--! @brief Blocker: - (delete index, integer RHS).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b integer Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_int(a public.eql_v3_json_search, b integer)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_int,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = integer\n);\n\n--! @brief Blocker: - (delete keys, text[] RHS).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_array(a public.eql_v3_json_search, b text[])\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_array,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: #- (delete at path).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_path(a public.eql_v3_json_search, b text[])\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '#-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_path,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: || (concatenate, encrypted on the left).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_concat(a public.eql_v3_json_search, b jsonb)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '||');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.jsonb_blocked_concat,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\n--! @brief Blocker: || (concatenate, encrypted on the right).\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_concat_rhs(a jsonb, b public.eql_v3_json_search)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '||');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.jsonb_blocked_concat_rhs,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\n------------------------------------------------------------------------------\n-- Root-document comparison blockers.\n------------------------------------------------------------------------------\n\n--! @brief Blocker: root public.eql_v3_json_search document comparisons.\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_compare_json_json(a public.eql_v3_json_search, b public.eql_v3_json_search)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', 'comparison');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: root public.eql_v3_json_search-to-jsonb comparisons.\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_compare_json_jsonb(a public.eql_v3_json_search, b jsonb)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', 'comparison');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: root jsonb-to-public.eql_v3_json_search comparisons.\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_compare_jsonb_json(a jsonb, b public.eql_v3_json_search)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', 'comparison');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\n------------------------------------------------------------------------------\n-- Mixed jsonb containment blockers.\n------------------------------------------------------------------------------\n\n--! @brief Blocker: @> with encrypted root document and native jsonb.\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contains_json_jsonb(a public.eql_v3_json_search, b jsonb)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '@>');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: @> with native jsonb and encrypted root document.\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contains_jsonb_json(a jsonb, b public.eql_v3_json_search)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '@>');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: <@ with encrypted root document and native jsonb.\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contained_json_jsonb(a public.eql_v3_json_search, b jsonb)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '<@');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: <@ with native jsonb and encrypted root document.\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contained_jsonb_json(a jsonb, b public.eql_v3_json_search)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '<@');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.jsonb_blocked_contains_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.jsonb_blocked_contains_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_contained_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_contained_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\n--! @file v3/jsonb/aggregates.sql\n--! @brief min / max aggregates over public.eql_v3_jsonb_entry.\n--!\n--! SteVec document entries extracted at a selector (`doc -> 'sel'`) order by\n--! their CLLW OPE (`op`) term, so the extremum is picked by comparing\n--! `eql_v3.ord_term(entry)` rather than the scalar Block-ORE `ord_term` the\n--! generated scalar ord aggregates use. The ope_cllw bytea domain orders under\n--! native byte comparison, so `<` / `>` on the extracted terms needs no custom\n--! comparator. Same STRICT + PARALLEL SAFE shape as the generated scalar\n--! `min`/`max` so partial/parallel aggregation is available on large GROUP BY\n--! workloads.\n--!\n--! Per the encrypted-domain footgun rules the state functions are\n--! `LANGUAGE plpgsql` with the pinned `search_path` — a `LANGUAGE sql` body would\n--! be inlinable and the planner could elide it.\n--!\n--! @note **Only `op`-carrying entries are orderable.** `eql_v3.ord_term(entry)`\n--! returns NULL when an entry has no `op` (CLLW OPE) term — the same entries a\n--! `eql_v3.ord_term` btree NULL-filters from range scans. The state functions\n--! therefore IGNORE `op`-less entries (they never become or survive as the\n--! extremum), so `min`/`max` is well-defined over a mix of `op`-carrying and\n--! `op`-less entries and is not corrupted by an `op`-less seed. A naive\n--! `ord_term(value) < ord_term(state)` would be NULL whenever either side\n--! lacks `op`, pinning a wrong (`op`-less) extremum when the first aggregated\n--! row is `op`-less. An all-`op`-less input has no orderable extremum and\n--! returns the (arbitrary) STRICT seed.\n\n--! @brief State function for min on public.eql_v3_jsonb_entry.\n--!\n--! Keeps whichever orderable entry has the lesser CLLW OPE term. STRICT, so SQL\n--! NULL entries are skipped by the aggregate machinery; `op`-less (non-orderable)\n--! entries are skipped explicitly (see the @note on this file).\n--!\n--! @param state public.eql_v3_jsonb_entry Running extremum.\n--! @param value public.eql_v3_jsonb_entry Candidate entry.\n--! @return public.eql_v3_jsonb_entry The lesser orderable entry by `ord_term`.\nCREATE FUNCTION eql_v3_internal.jsonb_entry_min_sfunc(\n state public.eql_v3_jsonb_entry,\n value public.eql_v3_jsonb_entry\n)\nRETURNS public.eql_v3_jsonb_entry\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nDECLARE\n value_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(value);\n state_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(state);\nBEGIN\n -- A non-orderable (op-less) candidate never replaces the running extremum.\n IF value_ope IS NULL THEN\n RETURN state;\n END IF;\n -- Adopt the candidate when the running extremum is itself non-orderable\n -- (e.g. an op-less STRICT seed) or strictly greater.\n IF state_ope IS NULL OR value_ope < state_ope THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate over public.eql_v3_jsonb_entry.\n--! @param input public.eql_v3_jsonb_entry\n--! @return public.eql_v3_jsonb_entry The entry with the smallest CLLW OPE term.\nCREATE AGGREGATE eql_v3.min(public.eql_v3_jsonb_entry) (\n sfunc = eql_v3_internal.jsonb_entry_min_sfunc,\n stype = public.eql_v3_jsonb_entry,\n combinefunc = eql_v3_internal.jsonb_entry_min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_jsonb_entry.\n--!\n--! Keeps whichever orderable entry has the greater CLLW OPE term. `op`-less\n--! entries are skipped, mirroring `jsonb_entry_min_sfunc` (see the file @note).\n--!\n--! @param state public.eql_v3_jsonb_entry Running extremum.\n--! @param value public.eql_v3_jsonb_entry Candidate entry.\n--! @return public.eql_v3_jsonb_entry The greater orderable entry by `ord_term`.\nCREATE FUNCTION eql_v3_internal.jsonb_entry_max_sfunc(\n state public.eql_v3_jsonb_entry,\n value public.eql_v3_jsonb_entry\n)\nRETURNS public.eql_v3_jsonb_entry\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nDECLARE\n value_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(value);\n state_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(state);\nBEGIN\n -- A non-orderable (op-less) candidate never replaces the running extremum.\n IF value_ope IS NULL THEN\n RETURN state;\n END IF;\n -- Adopt the candidate when the running extremum is itself non-orderable\n -- (e.g. an op-less STRICT seed) or strictly lesser.\n IF state_ope IS NULL OR value_ope > state_ope THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate over public.eql_v3_jsonb_entry.\n--! @param input public.eql_v3_jsonb_entry\n--! @return public.eql_v3_jsonb_entry The entry with the largest CLLW OPE term.\nCREATE AGGREGATE eql_v3.max(public.eql_v3_jsonb_entry) (\n sfunc = eql_v3_internal.jsonb_entry_max_sfunc,\n stype = public.eql_v3_jsonb_entry,\n combinefunc = eql_v3_internal.jsonb_entry_max_sfunc,\n parallel = safe\n);\n--! @file pin_search_path_v3.sql\n--! @brief Post-install: pin search_path on every eql_v3.* function.\n--!\n--! Appended verbatim by `tasks/build.sh` to the end of the v3-only release\n--! artifact, AFTER all src/v3/**/*.sql files have been concatenated. It lives\n--! outside src/ so it stays out of the dependency graph.\n--!\n--! Iterates over functions in the `eql_v3` and `eql_v3_internal` schemas and\n--! applies a fixed `search_path` via `ALTER FUNCTION ... SET search_path = ...`,\n--! satisfying Supabase splinter's `function_search_path_mutable` lint.\n--!\n--! @note A SET clause disables SQL-function inlining. The inline-critical SEM\n--! helpers (ore_block_256_*, ope_cllw, hmac_256, bloom_filter over\n--! jsonb) and the encrypted-domain family (recognised structurally,\n--! including public user-column domains) are deliberately left\n--! unpinned.\n--! @see tasks/test/splinter.sh\n--! @see tasks/build.sh\n\nDO $$\nDECLARE\n fn_oid oid;\n inline_critical_oids oid[];\n jsonb_oid oid;\nBEGIN\n SELECT t.oid INTO jsonb_oid\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n WHERE n.nspname = 'pg_catalog' AND t.typname = 'jsonb';\n\n IF jsonb_oid IS NULL THEN\n RAISE EXCEPTION 'pin_search_path_v3: type pg_catalog.jsonb not found';\n END IF;\n\n -- eql_v3 SEM index-term functions that must stay inlinable for\n -- functional-index matching (no SET, IMMUTABLE). Mirrors the eql_v3 clause\n -- in the legacy combined pin_search_path.sql.\n SELECT pg_catalog.array_agg(p.oid) INTO inline_critical_oids\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n WHERE n.nspname = ANY(eql_v3_internal.owned_schemas())\n AND (\n (p.pronargs = 2\n AND p.proname IN ('ore_block_256_eq', 'ore_block_256_neq',\n 'ore_block_256_lt', 'ore_block_256_lte',\n 'ore_block_256_gt', 'ore_block_256_gte'))\n -- The CLLW-OPE surface is the extractor alone: eql_v3_internal.ope_cllw is a\n -- domain over bytea (native comparison operators and btree opclass),\n -- so there are no ope-specific comparison functions to keep inlinable.\n OR (p.pronargs = 1\n AND p.proname = 'ope_cllw'\n AND p.proargtypes[0] = jsonb_oid)\n OR (p.pronargs = 1\n AND p.proname = 'hmac_256'\n AND p.proargtypes[0] = jsonb_oid)\n OR (p.pronargs = 1\n AND p.proname = 'bloom_filter'\n AND p.proargtypes[0] = jsonb_oid)\n );\n\n FOR fn_oid IN\n SELECT p.oid\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n WHERE n.nspname = ANY(eql_v3_internal.owned_schemas())\n AND p.prokind IN ('f', 'w')\n AND NOT EXISTS (\n SELECT 1 FROM pg_catalog.unnest(coalesce(p.proconfig, '{}'::text[])) c\n WHERE c LIKE 'search_path=%'\n )\n AND NOT (p.oid = ANY (coalesce(inline_critical_oids, '{}'::oid[])))\n -- Encrypted-domain family — structural skip: LANGUAGE sql, IMMUTABLE,\n -- taking >=1 argument typed as a jsonb-backed DOMAIN. User-column\n -- domains live in public; implementation-only domains live in EQL-owned\n -- schemas.\n AND NOT (\n p.prolang = (SELECT l.oid FROM pg_catalog.pg_language l\n WHERE l.lanname = 'sql')\n AND p.provolatile = 'i'\n AND EXISTS (\n SELECT 1\n FROM pg_catalog.unnest(p.proargtypes::oid[]) AS arg(typ)\n JOIN pg_catalog.pg_type dt ON dt.oid = arg.typ\n JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace\n WHERE dt.typtype = 'd'\n AND dt.typbasetype = jsonb_oid\n AND (\n dn.nspname = 'public'\n OR dn.nspname = ANY(eql_v3_internal.owned_schemas())\n )\n )\n )\n -- Comment-marker fallback for hand-written inline-critical extension\n -- functions that take no domain argument.\n AND NOT EXISTS (\n SELECT 1 FROM pg_catalog.pg_description d\n WHERE d.objoid = p.oid\n AND d.classoid = 'pg_catalog.pg_proc'::regclass\n AND d.description LIKE 'eql-inline-critical%'\n )\n LOOP\n EXECUTE pg_catalog.format(\n 'ALTER FUNCTION %s SET search_path = pg_catalog, extensions, public',\n fn_oid::regprocedure\n );\n END LOOP;\nEND $$;\n" } ], "postcheck": [ diff --git a/examples/prisma/prisma/schema.prisma b/examples/prisma/prisma/schema.prisma index 5d28190cb..ed2709d86 100644 --- a/examples/prisma/prisma/schema.prisma +++ b/examples/prisma/prisma/schema.prisma @@ -23,7 +23,7 @@ // STORAGE-ONLY: no search operators at all — every // eql* predicate throws // EncryptionOperatorError on this column. -// - preferences (EncryptedJson → eql_v3_json) +// - preferences (EncryptedJson → eql_v3_json_search) // searchable JSON: eqlJsonContains // (encrypted jsonb `@>` containment). // diff --git a/examples/prisma/src/index.ts b/examples/prisma/src/index.ts index fec356d1e..e44be2f39 100644 --- a/examples/prisma/src/index.ts +++ b/examples/prisma/src/index.ts @@ -20,7 +20,7 @@ * - accountId eql_v3_bigint_ord — eq + range + ORDER BY * - birthday eql_v3_date_ord — eq + range + ORDER BY * - emailVerified eql_v3_boolean — STORAGE-ONLY (no operators) - * - preferences eql_v3_json — eqlJsonContains (@>) + * - preferences eql_v3_json_search — eqlJsonContains (@>) * * Prerequisites: * @@ -172,7 +172,7 @@ async function searchByEq(): Promise { async function searchByMatchAndDecrypt(): Promise { console.log('\n--- eqlMatch (text_search free-text tokens) ---') - // v3 free-text search is bloom-filter TOKEN matching (eql_v3.contains), + // v3 free-text search is bloom-filter TOKEN matching (eql_v3.matches), // not SQL ILIKE: the needle's tokens must appear in the ciphertext's // index. 'example.com' matches the three @example.com addresses. const rows = await db.orm.public.User.where((u) => diff --git a/examples/prisma/src/prisma/contract.d.ts b/examples/prisma/src/prisma/contract.d.ts index 01efe328c..864312361 100644 --- a/examples/prisma/src/prisma/contract.d.ts +++ b/examples/prisma/src/prisma/contract.d.ts @@ -63,7 +63,7 @@ export type FieldOutputTypes = { readonly accountId: CodecTypes['cipherstash/eql-v3/eql_v3_bigint_ord@1']['output']; readonly birthday: CodecTypes['cipherstash/eql-v3/eql_v3_date_ord@1']['output']; readonly emailVerified: CodecTypes['cipherstash/eql-v3/eql_v3_boolean@1']['output']; - readonly preferences: CodecTypes['cipherstash/eql-v3/eql_v3_json@1']['output']; + readonly preferences: CodecTypes['cipherstash/eql-v3/eql_v3_json_search@1']['output']; }; }; }; @@ -76,7 +76,7 @@ export type FieldInputTypes = { readonly accountId: CodecTypes['cipherstash/eql-v3/eql_v3_bigint_ord@1']['input']; readonly birthday: CodecTypes['cipherstash/eql-v3/eql_v3_date_ord@1']['input']; readonly emailVerified: CodecTypes['cipherstash/eql-v3/eql_v3_boolean@1']['input']; - readonly preferences: CodecTypes['cipherstash/eql-v3/eql_v3_json@1']['input']; + readonly preferences: CodecTypes['cipherstash/eql-v3/eql_v3_json_search@1']['input']; }; }; }; @@ -168,8 +168,8 @@ type ContractBase = Omit< }; }; readonly preferences: { - readonly nativeType: 'public.eql_v3_json'; - readonly codecId: 'cipherstash/eql-v3/eql_v3_json@1'; + readonly nativeType: 'public.eql_v3_json_search'; + readonly codecId: 'cipherstash/eql-v3/eql_v3_json_search@1'; readonly nullable: false; readonly typeParams: { readonly castAs: 'json'; @@ -289,7 +289,7 @@ type ContractBase = Omit< readonly nullable: false; readonly type: { readonly kind: 'scalar'; - readonly codecId: 'cipherstash/eql-v3/eql_v3_json@1'; + readonly codecId: 'cipherstash/eql-v3/eql_v3_json_search@1'; readonly typeParams: { readonly castAs: 'json'; readonly capabilities: { @@ -1436,13 +1436,13 @@ type ContractBase = Omit< }, { readonly descriptor: { - readonly codecId: 'cipherstash/eql-v3/eql_v3_json@1'; + readonly codecId: 'cipherstash/eql-v3/eql_v3_json_search@1'; readonly factory: unknown; readonly isParameterized: true; readonly meta: { readonly db: { readonly sql: { - readonly postgres: { readonly nativeType: 'public.eql_v3_json' }; + readonly postgres: { readonly nativeType: 'public.eql_v3_json_search' }; }; }; }; @@ -1454,7 +1454,7 @@ type ContractBase = Omit< }; }; readonly renderOutputType: unknown; - readonly targetTypes: readonly ['public.eql_v3_json']; + readonly targetTypes: readonly ['public.eql_v3_json_search']; readonly traits: readonly ['cipherstash:searchable-json']; }; }, @@ -1782,9 +1782,9 @@ type ContractBase = Omit< }, { readonly familyId: 'sql'; - readonly nativeType: 'public.eql_v3_json'; + readonly nativeType: 'public.eql_v3_json_search'; readonly targetId: 'postgres'; - readonly typeId: 'cipherstash/eql-v3/eql_v3_json@1'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_json_search@1'; }, ]; }; diff --git a/examples/prisma/src/prisma/contract.json b/examples/prisma/src/prisma/contract.json index 22ebe981e..071443ccb 100644 --- a/examples/prisma/src/prisma/contract.json +++ b/examples/prisma/src/prisma/contract.json @@ -79,7 +79,7 @@ "preferences": { "nullable": false, "type": { - "codecId": "cipherstash/eql-v3/eql_v3_json@1", + "codecId": "cipherstash/eql-v3/eql_v3_json_search@1", "kind": "scalar", "typeParams": { "capabilities": { @@ -196,8 +196,8 @@ "nullable": false }, "preferences": { - "codecId": "cipherstash/eql-v3/eql_v3_json@1", - "nativeType": "public.eql_v3_json", + "codecId": "cipherstash/eql-v3/eql_v3_json_search@1", + "nativeType": "public.eql_v3_json_search", "nullable": false, "typeParams": { "capabilities": { @@ -1467,13 +1467,13 @@ }, { "descriptor": { - "codecId": "cipherstash/eql-v3/eql_v3_json@1", + "codecId": "cipherstash/eql-v3/eql_v3_json_search@1", "isParameterized": true, "meta": { "db": { "sql": { "postgres": { - "nativeType": "public.eql_v3_json" + "nativeType": "public.eql_v3_json_search" } } } @@ -1485,7 +1485,7 @@ } }, "targetTypes": [ - "public.eql_v3_json" + "public.eql_v3_json_search" ], "traits": [ "cipherstash:searchable-json" @@ -1816,9 +1816,9 @@ }, { "familyId": "sql", - "nativeType": "public.eql_v3_json", + "nativeType": "public.eql_v3_json_search", "targetId": "postgres", - "typeId": "cipherstash/eql-v3/eql_v3_json@1" + "typeId": "cipherstash/eql-v3/eql_v3_json_search@1" } ] }, diff --git a/examples/prisma/test/e2e/README.md b/examples/prisma/test/e2e/README.md index 7750758a1..ceb146ea8 100644 --- a/examples/prisma/test/e2e/README.md +++ b/examples/prisma/test/e2e/README.md @@ -6,7 +6,7 @@ This directory hosts the live-Postgres + EQL v3 bundle + ZeroKMS end-to-end harn - `bigint.e2e.test.ts` — `eql_v3_bigint_ord` round-trip **lossless beyond `Number.MAX_SAFE_INTEGER`** (native `bigint` pipeline); equality + range + in-array + sort. - `date.e2e.test.ts` — `eql_v3_date_ord` round-trip; date range + order-term sort. - `bool.e2e.test.ts` — `eql_v3_boolean` is STORAGE-ONLY: round-trip works, the ORM binds no operator methods to the column, and the operator impls throw `EncryptionOperatorError` against it. -- `json.e2e.test.ts` — `eql_v3_json` round-trip + `eqlJsonContains` (encrypted jsonb `@>`): top-level, multi-key, array-element, and nested containment, negative cases, and the loud rejection of the match-everything `{}` needle. +- `json.e2e.test.ts` — `eql_v3_json_search` round-trip + `eqlJsonContains` (encrypted jsonb `@>`): top-level, multi-key, array-element, and nested containment, negative cases, and the loud rejection of the match-everything `{}` needle. - `str-range.e2e.test.ts` — `eql_v3_text_search` carries equality + order/range + free-text on one column: `eqlEq`, `eqlGt`, `eqlAsc`/`eqlDesc`, and `eqlMatch` (fuzzy bloom-filter token matching — not SQL `ILIKE`) coexist. - `mixed.e2e.test.ts` — mixed-domain query issues the minimum framework-SDK crossings (one `bulkEncrypt` seam call per `(table, column)`; operands become ciphertext-free `encryptQuery` terms inside the v3 adapter). @@ -34,7 +34,7 @@ The `docker-compose.yml` runs `postgres:16-alpine` on host port `54329` (non-sta The v2 iteration of this harness carried two known-limitation carve-outs; both are gone on v3: -- **JSON predicates work.** v2's `cipherstashJsonbPathExists` needed client-side STE-VEC selector hashing and was skipped. v3's containment model (`eqlJsonContains` → `@>` with an `eql_v3.query_jsonb` term) runs end-to-end — no skips in `json.e2e.test.ts`. +- **JSON predicates work.** v2's `cipherstashJsonbPathExists` needed client-side STE-VEC selector hashing and was skipped. v3's containment model (`eqlJsonContains` → `@>` with an `eql_v3.query_json` term) runs end-to-end — no skips in `json.e2e.test.ts`. - **BigInt is lossless.** v2 converted `bigint → Number` at the SDK boundary and capped values at `Number.MAX_SAFE_INTEGER`. v3's protect-ffi wire is natively `bigint` (bounds-checked int8), and `bigint.e2e.test.ts` pins a 2^53 + 1 round-trip. One new-in-v3 refusal is deliberately pinned rather than worked around: `eql_v3_boolean` is storage-only, so `bool.e2e.test.ts` asserts the operator surface is absent/throwing instead of querying it. diff --git a/examples/prisma/test/e2e/json.e2e.test.ts b/examples/prisma/test/e2e/json.e2e.test.ts index 858d3bd0f..22a530422 100644 --- a/examples/prisma/test/e2e/json.e2e.test.ts +++ b/examples/prisma/test/e2e/json.e2e.test.ts @@ -1,10 +1,10 @@ /** - * End-to-end round-trip for the `eql_v3_json` domain against live + * End-to-end round-trip for the `eql_v3_json_search` domain against live * Postgres + EQL v3 + ZeroKMS. * * v3 searchable JSON is containment-only: the ste_vec index answers * encrypted jsonb `@>` via `eqlJsonContains`, with the operand - * minted as a ciphertext-free `eql_v3.query_jsonb` term. The v2 + * minted as a ciphertext-free `eql_v3.query_json` term. The v2 * `cipherstashJsonbPathQueryFirst` / `cipherstashJsonbGet` / * `cipherstashJsonbPathExists` helpers do not exist in v3 (and with * them goes the v2 suite's "selector hashing" known-limitation skip — @@ -74,7 +74,7 @@ function seedRow(s: (typeof SEED)[number]) { } } -describe('EncryptedJson (eql_v3_json) e2e (live PG + EQL v3 + ZeroKMS)', () => { +describe('EncryptedJson (eql_v3_json_search) e2e (live PG + EQL v3 + ZeroKMS)', () => { beforeAll(async () => { await ensureConnected() await truncateUsers() diff --git a/examples/prisma/test/e2e/str-range.e2e.test.ts b/examples/prisma/test/e2e/str-range.e2e.test.ts index bc1b77790..2c7f77dd8 100644 --- a/examples/prisma/test/e2e/str-range.e2e.test.ts +++ b/examples/prisma/test/e2e/str-range.e2e.test.ts @@ -11,7 +11,7 @@ * - `eqlAsc` / `eqlDesc` order alphabetically * via the encrypted order term. * - `eqlMatch` — bloom-filter TOKEN containment - * (`eql_v3.contains`), not SQL ILIKE — coexists with the + * (`eql_v3.matches`), not SQL ILIKE — coexists with the * order-and-range operators on the same column. */ diff --git a/packages/cli/package.json b/packages/cli/package.json index ecb82e00a..d07dfdb5b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -46,7 +46,7 @@ }, "dependencies": { "@cipherstash/auth": "catalog:repo", - "@cipherstash/eql": "3.0.0", + "@cipherstash/eql": "3.0.2", "@cipherstash/migrate": "workspace:*", "@clack/prompts": "1.7.0", "dotenv": "17.4.2", diff --git a/packages/prisma-next/README.md b/packages/prisma-next/README.md index c44541dd1..bd49b0d14 100644 --- a/packages/prisma-next/README.md +++ b/packages/prisma-next/README.md @@ -85,7 +85,7 @@ await decryptAll(rows) console.log(await rows[0]?.email.decrypt()) ``` -See the [full documentation](https://cipherstash.com/docs/stack/cipherstash/encryption/prisma-next) for the complete encrypted column reference, all 17 query operators, the override surface, security model, and known limitations. +See the [full documentation](https://cipherstash.com/docs/stack/cipherstash/encryption/prisma-next) for the complete encrypted column reference, all 23 query operators (including encrypted JSONPath comparisons), the override surface, security model, and known limitations. ## Subpath exports diff --git a/packages/prisma-next/package.json b/packages/prisma-next/package.json index 330069e85..a4c7721c5 100644 --- a/packages/prisma-next/package.json +++ b/packages/prisma-next/package.json @@ -77,7 +77,7 @@ "clean": "rm -rf dist coverage .tmp-output" }, "dependencies": { - "@cipherstash/eql": "3.0.0", + "@cipherstash/eql": "3.0.2", "@cipherstash/stack": "workspace:*", "@prisma-next/contract": "0.14.0", "@prisma-next/family-sql": "0.14.0", diff --git a/packages/prisma-next/src/contract-authoring.ts b/packages/prisma-next/src/contract-authoring.ts index 4f45e5b13..df9eedae4 100644 --- a/packages/prisma-next/src/contract-authoring.ts +++ b/packages/prisma-next/src/contract-authoring.ts @@ -77,6 +77,10 @@ function coreName(bareDomain: string): string { ) } const core = bareDomain.slice(EQL_V3_DOMAIN_PREFIX.length) + // EQL names the searchable JSON storage domain `json_search`, while the + // public Stack/Prisma factory remains the capability-complete `Json` type. + // Preserve that stable authoring API across the SQL-domain rename. + if (core === 'json_search') return 'Json' const i = core.indexOf('_') const stem = i === -1 ? core : core.slice(0, i) const suffix = i === -1 ? '' : core.slice(i + 1) diff --git a/packages/prisma-next/src/extension-metadata/constants-v3.ts b/packages/prisma-next/src/extension-metadata/constants-v3.ts index 299d12d56..bc25ce101 100644 --- a/packages/prisma-next/src/extension-metadata/constants-v3.ts +++ b/packages/prisma-next/src/extension-metadata/constants-v3.ts @@ -99,7 +99,7 @@ export const CIPHERSTASH_V3_CODEC_IDS = [ 'cipherstash/eql-v3/eql_v3_double_eq@1', 'cipherstash/eql-v3/eql_v3_double_ord_ore@1', 'cipherstash/eql-v3/eql_v3_double_ord@1', - 'cipherstash/eql-v3/eql_v3_json@1', + 'cipherstash/eql-v3/eql_v3_json_search@1', ] as const satisfies readonly CipherstashV3CodecId[] // Bidirectional drift guard — the direction `satisfies` cannot catch. If the diff --git a/packages/prisma-next/src/migration/eql-bundle-v3.ts b/packages/prisma-next/src/migration/eql-bundle-v3.ts index 2339e6f7c..ae91f174e 100644 --- a/packages/prisma-next/src/migration/eql-bundle-v3.ts +++ b/packages/prisma-next/src/migration/eql-bundle-v3.ts @@ -12,7 +12,8 @@ * `ops.json`. The committed op carries {@link RUNTIME_EQL_SQL_SENTINEL}, and * `src/exports/control.ts` swaps in `readInstallSql()` from the installed * `@cipherstash/eql` when it builds the descriptor (see {@link withRuntimeEqlSql}). - * `@cipherstash/eql` is therefore a runtime dependency, pinned exact (`3.0.0`) + * `@cipherstash/eql` is therefore a runtime dependency, pinned to an exact + * version * to match the version `@cipherstash/stack` encodes its v3 domain TYPES against * — the two must move together, so this is a coordinated bump, not a float. * diff --git a/packages/prisma-next/src/types/codec-types.ts b/packages/prisma-next/src/types/codec-types.ts index 9f54847da..dadc4691c 100644 --- a/packages/prisma-next/src/types/codec-types.ts +++ b/packages/prisma-next/src/types/codec-types.ts @@ -299,7 +299,7 @@ export type CodecTypes = { // alias is kept in scope (via the import above) so the codec entry // still flags JSON as an envelope-bearing codec at the type-import // layer. - readonly 'cipherstash/eql-v3/eql_v3_json@1': { + readonly 'cipherstash/eql-v3/eql_v3_json_search@1': { readonly input: unknown readonly output: EncryptedJson readonly traits: V3TraitsJson diff --git a/packages/prisma-next/src/types/operation-types.ts b/packages/prisma-next/src/types/operation-types.ts index 5226e705d..14e94a371 100644 --- a/packages/prisma-next/src/types/operation-types.ts +++ b/packages/prisma-next/src/types/operation-types.ts @@ -167,7 +167,7 @@ export type QueryOperationTypes = high: unknown, ) => PgBoolReturn } - // Fuzzy free-text token match (`eql_v3.contains`) — NOT SQL + // Fuzzy free-text token match (`eql_v3.matches`) — NOT SQL // pattern matching; needles are guarded at lowering time // (wildcards, short needles). No negated form: the bloom test // may false-positive, so its negation would false-negative. @@ -178,7 +178,7 @@ export type QueryOperationTypes = needle: unknown, ) => PgBoolReturn } - // v3-only: encrypted jsonb `@>` containment on `eql_v3_json` + // v3-only: encrypted jsonb `@>` containment on `eql_v3_json_search` // columns. readonly eqlJsonContains: { readonly self: { readonly traits: V3SearchableJsonMarker } @@ -187,5 +187,53 @@ export type QueryOperationTypes = needle: unknown, ) => PgBoolReturn } + readonly eqlJsonPathEq: { + readonly self: { readonly traits: V3SearchableJsonMarker } + readonly impl: ( + self: AnyExpressionLike, + path: string, + value: string | number | boolean, + ) => PgBoolReturn + } + readonly eqlJsonPathNeq: { + readonly self: { readonly traits: V3SearchableJsonMarker } + readonly impl: ( + self: AnyExpressionLike, + path: string, + value: string | number | boolean, + ) => PgBoolReturn + } + readonly eqlJsonPathGt: { + readonly self: { readonly traits: V3SearchableJsonMarker } + readonly impl: ( + self: AnyExpressionLike, + path: string, + value: string | number, + ) => PgBoolReturn + } + readonly eqlJsonPathGte: { + readonly self: { readonly traits: V3SearchableJsonMarker } + readonly impl: ( + self: AnyExpressionLike, + path: string, + value: string | number, + ) => PgBoolReturn + } + readonly eqlJsonPathLt: { + readonly self: { readonly traits: V3SearchableJsonMarker } + readonly impl: ( + self: AnyExpressionLike, + path: string, + value: string | number, + ) => PgBoolReturn + } + readonly eqlJsonPathLte: { + readonly self: { readonly traits: V3SearchableJsonMarker } + readonly impl: ( + self: AnyExpressionLike, + path: string, + value: string | number, + ) => PgBoolReturn + } } : never diff --git a/packages/prisma-next/src/v3/operators-v3.ts b/packages/prisma-next/src/v3/operators-v3.ts index 5937844d7..1a28dfc22 100644 --- a/packages/prisma-next/src/v3/operators-v3.ts +++ b/packages/prisma-next/src/v3/operators-v3.ts @@ -6,8 +6,8 @@ * * eql_v3.eq(, $n::eql_v3.query_) -- equality (eqlEq) * eql_v3.gt(, $n::eql_v3.query_) -- comparison (eqlGt) - * eql_v3.contains(, $n::eql_v3.query_) -- bloom free-text (eqlMatch) - * OPERATOR(public.@>) $n::eql_v3.query_jsonb -- JSON containment (eqlJsonContains) + * eql_v3.matches(, $n::eql_v3.query_) -- bloom free-text (eqlMatch) + * OPERATOR(public.@>) $n::eql_v3.query_json -- JSON containment (eqlJsonContains) * eql_v3.ord_term() / eql_v3.ord_term_ore() -- ordering (eqlAsc/eqlDesc) * * ## Operands are QUERY TERMS, not storage envelopes @@ -73,7 +73,12 @@ * shared trait constants. */ -import { matchNeedleError } from '@cipherstash/stack/adapter-kit' +import { + jsonPathOf, + matchNeedleError, + parseSelectorSegments, + unsupportedLeafReason, +} from '@cipherstash/stack/adapter-kit' import type { CodecTrait } from '@prisma-next/framework-components/codec' import type { SqlOperationDescriptor, @@ -161,8 +166,8 @@ interface ColumnContext { * across the queryable column domains (`_eq`, `_ord`, `_ord_ore`, * `_match`, `_search`); the irregular cases are handled elsewhere: * storage-only domains have no query type (they are gated out before - * a template is built) and `eql_v3_json` maps to the irregular - * `eql_v3.query_jsonb`, cast explicitly on the JSON path. + * a template is built) and `eql_v3_json_search` maps to the irregular + * `eql_v3.query_json`, cast explicitly on the JSON path. */ function queryCastForMeta(meta: V3DomainMeta): string | null { const prefix = 'eql_v3_' @@ -558,7 +563,7 @@ function normalizeMatchNeedle( /** * Fuzzy free-text token match on a `text_search`/`text_match` column, - * lowering to `eql_v3.contains` — NOT SQL pattern matching: matching is + * lowering to `eql_v3.matches` — NOT SQL pattern matching: matching is * case-insensitive, order- and multiplicity-insensitive, and one-sided * (may false-positive). The needle is normalised and guarded by * {@link normalizeMatchNeedle} before encryption. @@ -588,7 +593,7 @@ function matchOperator(): SqlOperationDescriptor { lowering: { targetFamily: 'sql', strategy: 'function', - template: `eql_v3.contains({{self}}, {{arg0}}::${cast})`, + template: `eql_v3.matches({{self}}, {{arg0}}::${cast})`, }, }) }, @@ -596,20 +601,17 @@ function matchOperator(): SqlOperationDescriptor { } /** - * Exact encrypted-JSONB containment on an `eql_v3_json` (`ste_vec`) - * column: genuine jsonb `@>`, no false positives. `eql_v3_json` has no - * `eql_v3.contains` overload — containment is the `@>` operator, whose - * `(eql_v3_json, eql_v3.query_jsonb)` form takes a NARROWED query term + * Exact encrypted-JSONB containment on an `eql_v3_json_search` (`ste_vec`) + * column: genuine jsonb `@>`, no false positives. `eql_v3_json_search` has no + * `eql_v3.matches` overload — containment is the `@>` operator, whose + * `(eql_v3_json_search, eql_v3.query_json)` form takes a NARROWED query term * (searchableJson → no ciphertext) cast to the irregular - * `eql_v3.query_jsonb`. The explicit `OPERATOR(public.@>)` spelling - * plus the cast disambiguate among the four `eql_v3_json @> ?` RHS + * `eql_v3.query_json`. The explicit `OPERATOR(public.@>)` spelling + * plus the cast disambiguate among the four `eql_v3_json_search @> ?` RHS * overloads ("operator is not unique", 42725). * - * This mirrors the drizzle reference's `contains` under the v3 `eql*` - * naming vocabulary. Selector querying (comparing the value at a - * JSONPath via `eql_v3.jsonb_path_query_first` — the drizzle - * reference's `selectorOps`, #651) is tracked for prisma-next in #677; - * a containedBy direction is exposed by neither adapter. + * This mirrors the Drizzle reference's `contains` under the v3 `eql*` + * vocabulary. A containedBy direction is exposed by neither adapter. */ function jsonContainsOperator(): SqlOperationDescriptor { const method = 'eqlJsonContains' @@ -651,7 +653,108 @@ function jsonContainsOperator(): SqlOperationDescriptor { lowering: { targetFamily: 'sql', strategy: 'function', - template: '{{self}} OPERATOR(public.@>) {{arg0}}::eql_v3.query_jsonb', + template: '{{self}} OPERATOR(public.@>) {{arg0}}::eql_v3.query_json', + }, + }) + }, + } +} + +type JsonSelectorOp = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' + +/** + * Compare a scalar value at a JSONPath in an encrypted JSON document. + * + * Equality is value-selector containment, which is exact and can use the + * document's functional GIN index. Ordering hashes the path separately and + * compares the extracted entry with a ciphertext-free string/number ordering + * term. The two query operands deliberately take different query routes. + */ +function jsonSelectorOperator( + method: string, + op: JsonSelectorOp, +): SqlOperationDescriptor { + return { + self: { + traits: [ + CIPHERSTASH_TRAIT_SEARCHABLE_JSON, + ] as unknown as readonly CodecTrait[], + }, + impl: ( + self: Expression, + path: unknown, + value: unknown, + ): Expression => { + const ctx = resolveContext(self, method) + gate(ctx, JSON_GATE.capability, JSON_GATE.label, method) + if (typeof path !== 'string') { + throw operatorError( + ctx, + method, + `cipherstash ${method}: expected a JSONPath string, got ${path === null ? 'null' : typeof path}.`, + ) + } + + let canonicalPath: string + try { + canonicalPath = jsonPathOf(parseSelectorSegments(path)) + } catch (error) { + throw operatorError( + ctx, + method, + `cipherstash ${method}: ${error instanceof Error ? error.message : String(error)}`, + ) + } + + const ordering = op !== 'eq' && op !== 'neq' + const reason = unsupportedLeafReason(value, ordering) + if (reason !== null) { + throw operatorError(ctx, method, `cipherstash ${method}: ${reason}`) + } + + if (!ordering) { + const needle = asQueryTermParam( + ctx, + { path: canonicalPath, value }, + method, + 'steVecValueSelector', + ) + const contains = + '{{self}} OPERATOR(public.@>) {{arg0}}::eql_v3.query_json' + return buildOperation({ + method, + args: [ctx.selfAst, needle], + returns: { codecId: PG_BOOL_CODEC_ID, nullable: false }, + lowering: { + targetFamily: 'sql', + strategy: 'function', + template: + op === 'eq' + ? contains + : `({{self}} IS NULL OR NOT (${contains}))`, + }, + }) + } + + const selector = asQueryTermParam( + ctx, + canonicalPath, + method, + 'steVecSelector', + ) + const term = asQueryTermParam(ctx, value, method, 'steVecTerm') + const queryCast = + typeof value === 'string' + ? 'eql_v3.query_text_ord' + : 'eql_v3.query_double_ord' + return buildOperation({ + method, + args: [ctx.selfAst, selector, term], + returns: { codecId: PG_BOOL_CODEC_ID, nullable: false }, + lowering: { + targetFamily: 'sql', + strategy: 'function', + template: `eql_v3.${op}(eql_v3.jsonb_path_query_first({{self}}, {{arg0}}::text), {{arg1}}::${queryCast})`, }, }) }, @@ -673,7 +776,7 @@ function jsonContainsOperator(): SqlOperationDescriptor { * `eqlNotBetween` (`cipherstash:order-and-range`) → * `eql_v3.gt`/`gte`/`lt`/`lte`, range as a self-parenthesised * `(gte AND lte)` conjunction - * - `eqlMatch` (`cipherstash:free-text-search`) → `eql_v3.contains` + * - `eqlMatch` (`cipherstash:free-text-search`) → `eql_v3.matches` * — a bloom-filter TOKEN MATCH (order/multiplicity-insensitive, * one-sided: may false-positive), NOT SQL pattern matching. Guarded * up front: needles the column's match index cannot answer are @@ -681,9 +784,13 @@ function jsonContainsOperator(): SqlOperationDescriptor { * away or rejected (see {@link matchOperator}). * - `eqlJsonContains` (`cipherstash:searchable-json`) → * exact jsonb containment via `OPERATOR(public.@>)`. + * - `eqlJsonPathEq/Neq/Gt/Gte/Lt/Lte` + * (`cipherstash:searchable-json`) → exact value-selector containment for + * equality, or selector extraction plus a ciphertext-free scalar query + * term for ordering. * * Every operand renders as `$n::eql_v3.query_` (irregularly - * `::eql_v3.query_jsonb` for JSON), matching the stack-drizzle v3 + * `::eql_v3.query_json` for JSON), matching the stack-drizzle v3 * dialect byte-for-byte. */ export function cipherstashV3QueryOperations(): SqlOperationDescriptors { @@ -764,13 +871,19 @@ export function cipherstashV3QueryOperations(): SqlOperationDescriptors { `NOT (eql_v3.gte({{self}}, {{arg0}}::${cast}) AND eql_v3.lte({{self}}, {{arg1}}::${cast}))`, ), eqlMatch: matchOperator(), - // NO negated match: `eql_v3.contains` is a bloom-filter test that + // NO negated match: `eql_v3.matches` is a bloom-filter test that // may FALSE-POSITIVE, so its negation FALSE-NEGATIVES — it would // silently drop rows that genuinely don't match. A trustworthy // negative free-text search needs a decrypt-and-post-filter path; // until one exists the operator must not be offered (PR #655 // review; same removal as the Drizzle/Supabase v3 surfaces). eqlJsonContains: jsonContainsOperator(), + eqlJsonPathEq: jsonSelectorOperator('eqlJsonPathEq', 'eq'), + eqlJsonPathNeq: jsonSelectorOperator('eqlJsonPathNeq', 'neq'), + eqlJsonPathGt: jsonSelectorOperator('eqlJsonPathGt', 'gt'), + eqlJsonPathGte: jsonSelectorOperator('eqlJsonPathGte', 'gte'), + eqlJsonPathLt: jsonSelectorOperator('eqlJsonPathLt', 'lt'), + eqlJsonPathLte: jsonSelectorOperator('eqlJsonPathLte', 'lte'), } } diff --git a/packages/prisma-next/src/v3/query-term.ts b/packages/prisma-next/src/v3/query-term.ts index 4becb49a6..1f66c2b28 100644 --- a/packages/prisma-next/src/v3/query-term.ts +++ b/packages/prisma-next/src/v3/query-term.ts @@ -50,13 +50,19 @@ export class EncryptionOperatorError extends Error { /** * The query-term flavours a v3 operator can mint — the subset of the - * stack's `QueryTypeName` union that maps 1:1 onto the four - * capability families (`steVecSelector`/`steVecTerm` are subsumed by - * `searchableJson`, which auto-infers). + * stack's `QueryTypeName` union used by the v3 operators. JSON selector + * predicates use the explicit SteVec flavours because path hashing, + * value-selector equality, and scalar ordering have distinct wire shapes. */ export type V3QueryTermType = Extract< QueryTypeName, - 'equality' | 'orderAndRange' | 'freeTextSearch' | 'searchableJson' + | 'equality' + | 'orderAndRange' + | 'freeTextSearch' + | 'searchableJson' + | 'steVecSelector' + | 'steVecValueSelector' + | 'steVecTerm' > /** diff --git a/packages/prisma-next/test/authoring.test.ts b/packages/prisma-next/test/authoring.test.ts index 38ef02f51..655000c44 100644 --- a/packages/prisma-next/test/authoring.test.ts +++ b/packages/prisma-next/test/authoring.test.ts @@ -10,8 +10,8 @@ * `{ castAs, capabilities }` typeParams block — no options, no * `AuthoringArgRef` nodes. * - `EncryptedString` (unqualified) does not exist — v3 text columns use - * the `Text*` family. `Json` (unqualified) is the v3 `eql_v3_json` - * domain. + * the `Text*` family. `Json` (unqualified) is now the + * v3 `eql_v3_json_search` domain. * * Full PSL→ColumnTypeDescriptor lowering is exercised in * `test/psl-interpretation*.test.ts`. @@ -87,10 +87,10 @@ describe('cipherstash v3 authoring (concrete per-domain, static descriptors)', ( expect(ns.BooleanEq).toBeUndefined() }) - it('Json → public.eql_v3_json with searchableJson-only capabilities', () => { + it('Json → public.eql_v3_json_search with searchableJson-only capabilities', () => { expect(ns.Json?.output).toMatchObject({ - codecId: 'cipherstash/eql-v3/eql_v3_json@1', - nativeType: 'public.eql_v3_json', + codecId: 'cipherstash/eql-v3/eql_v3_json_search@1', + nativeType: 'public.eql_v3_json_search', typeParams: { castAs: 'json', capabilities: { diff --git a/packages/prisma-next/test/column-types.test.ts b/packages/prisma-next/test/column-types.test.ts index ec1f33896..54c76aeae 100644 --- a/packages/prisma-next/test/column-types.test.ts +++ b/packages/prisma-next/test/column-types.test.ts @@ -51,10 +51,10 @@ describe('v3 TS factories', () => { }) }) - it('json() emits public.eql_v3_json with searchableJson-only capabilities', () => { + it('json() emits public.eql_v3_json_search with searchableJson-only capabilities', () => { expect(columnTypes.json()).toEqual({ - codecId: 'cipherstash/eql-v3/eql_v3_json@1', - nativeType: 'public.eql_v3_json', + codecId: 'cipherstash/eql-v3/eql_v3_json_search@1', + nativeType: 'public.eql_v3_json_search', typeParams: { castAs: 'json', capabilities: { diff --git a/packages/prisma-next/test/live/helpers/harness.ts b/packages/prisma-next/test/live/helpers/harness.ts index 084895279..e19fb8647 100644 --- a/packages/prisma-next/test/live/helpers/harness.ts +++ b/packages/prisma-next/test/live/helpers/harness.ts @@ -72,7 +72,7 @@ export const BOOLEAN = toV3CodecId('eql_v3_boolean') export const BIGINT_STORAGE = toV3CodecId('eql_v3_bigint') export const BIGINT_EQ = toV3CodecId('eql_v3_bigint_eq') export const BIGINT_ORD = toV3CodecId('eql_v3_bigint_ord') -export const JSON_CODEC = toV3CodecId('eql_v3_json') +export const JSON_CODEC = toV3CodecId('eql_v3_json_search') const PG_TEXT = 'pg/text@1' diff --git a/packages/prisma-next/test/live/operators-live-pg.test.ts b/packages/prisma-next/test/live/operators-live-pg.test.ts index 93dbc847f..305c33205 100644 --- a/packages/prisma-next/test/live/operators-live-pg.test.ts +++ b/packages/prisma-next/test/live/operators-live-pg.test.ts @@ -4,7 +4,7 @@ * `eql_v3.*` SQL, real `encryptQuery` terms) → assert the EXPECTED ROWS * are selected → decrypt the stored cells back to the original * plaintext. Includes the ruled-decision-2 JSON containment case - * (`@>` with `eql_v3.query_jsonb`). + * (`@>` with `eql_v3.query_json`). */ import 'dotenv/config' @@ -172,7 +172,7 @@ describeLivePg('v3 operators against live Postgres', () => { expect(inArray.ids.sort()).toEqual(['ada', 'zora']) }, 60_000) - it('eqlMatch lowers to eql_v3.contains and finds the token match', async () => { + it('eqlMatch lowers to eql_v3.matches and finds the token match', async () => { const result = await where( callOperator( getOperator('eqlMatch'), @@ -180,7 +180,7 @@ describeLivePg('v3 operators against live Postgres', () => { 'grace', ), ) - expect(result.sql).toContain('eql_v3.contains') + expect(result.sql).toContain('eql_v3.matches') expect(result.ids).toEqual(['grace']) }, 60_000) @@ -239,7 +239,7 @@ describeLivePg('v3 operators against live Postgres', () => { expect(desc.ids).toEqual(['zora', 'grace', 'ada']) }, 60_000) - it('eqlJsonContains (@> with eql_v3.query_jsonb) selects by encrypted containment', async () => { + it('eqlJsonContains (@> with eql_v3.query_json) selects by encrypted containment', async () => { const result = await where( callOperator( getOperator('eqlJsonContains'), @@ -248,7 +248,7 @@ describeLivePg('v3 operators against live Postgres', () => { ), ) expect(result.sql).toContain('OPERATOR(public.@>)') - expect(result.sql).toContain('::eql_v3.query_jsonb') + expect(result.sql).toContain('::eql_v3.query_json') expect(result.ids.sort()).toEqual(['ada', 'zora']) const nested = await where( @@ -261,6 +261,31 @@ describeLivePg('v3 operators against live Postgres', () => { expect(nested.ids).toEqual(['grace']) }, 60_000) + it('eqlJsonPath operators select exact values and ordered path entries', async () => { + const role = await where( + callOperator( + getOperator('eqlJsonPathEq'), + columnAccessorV3(TABLE, 'payload', JSON_CODEC), + '$.role', + 'admin', + ), + ) + expect(role.sql).toContain('OPERATOR(public.@>)') + expect(role.ids.sort()).toEqual(['ada', 'zora']) + + const level = await where( + callOperator( + getOperator('eqlJsonPathGte'), + columnAccessorV3(TABLE, 'payload', JSON_CODEC), + '$.level', + 3, + ), + ) + expect(level.sql).toContain('eql_v3.jsonb_path_query_first') + expect(level.sql).toContain('::eql_v3.query_double_ord') + expect(level.ids).toEqual(['zora']) + }, 60_000) + it('every domain family decrypts back to the original plaintext', async () => { const grace = SEED[1] const email = await decryptCell(live.sdk, EncryptedString, { diff --git a/packages/prisma-next/test/operation-types.types.test-d.ts b/packages/prisma-next/test/operation-types.types.test-d.ts index 635f04217..2157c0953 100644 --- a/packages/prisma-next/test/operation-types.types.test-d.ts +++ b/packages/prisma-next/test/operation-types.types.test-d.ts @@ -97,7 +97,10 @@ type _v3_gt_ord_pos = Expect< M3<'eqlGt', 'cipherstash/eql-v3/eql_v3_double_ord@1'> > type _v3_jsoncontains_json_pos = Expect< - M3<'eqlJsonContains', 'cipherstash/eql-v3/eql_v3_json@1'> + M3<'eqlJsonContains', 'cipherstash/eql-v3/eql_v3_json_search@1'> +> +type _v3_jsonpath_json_pos = Expect< + M3<'eqlJsonPathGt', 'cipherstash/eql-v3/eql_v3_json_search@1'> > // v3 negatives: capability tiers gate visibility. @@ -132,6 +135,7 @@ export type _Anchors = [ _v3_match_textmatch_pos, _v3_gt_ord_pos, _v3_jsoncontains_json_pos, + _v3_jsonpath_json_pos, _v3_eq_boolean_neg, _v3_eq_text_storage_neg, _v3_match_texteq_neg, diff --git a/packages/prisma-next/test/psl-interpretation.test.ts b/packages/prisma-next/test/psl-interpretation.test.ts index ae35e33b9..0606a5285 100644 --- a/packages/prisma-next/test/psl-interpretation.test.ts +++ b/packages/prisma-next/test/psl-interpretation.test.ts @@ -152,8 +152,8 @@ describe('PSL interpretation: v3 argument-less constructors (static typeParams)' asStorage(result.value.storage).tables['user']?.columns['payload'], ).toEqual( expect.objectContaining({ - codecId: 'cipherstash/eql-v3/eql_v3_json@1', - nativeType: 'public.eql_v3_json', + codecId: 'cipherstash/eql-v3/eql_v3_json_search@1', + nativeType: 'public.eql_v3_json_search', typeParams: { castAs: 'json', capabilities: { diff --git a/packages/prisma-next/test/v3/bulk-encrypt-v3.test.ts b/packages/prisma-next/test/v3/bulk-encrypt-v3.test.ts index 4e0d6aaa0..1c1fba9a3 100644 --- a/packages/prisma-next/test/v3/bulk-encrypt-v3.test.ts +++ b/packages/prisma-next/test/v3/bulk-encrypt-v3.test.ts @@ -58,7 +58,7 @@ import { } from './operator-lowering-v3.helpers' const V3_TEXT_SEARCH = 'cipherstash/eql-v3/eql_v3_text_search@1' -const V3_JSON = 'cipherstash/eql-v3/eql_v3_json@1' +const V3_JSON = 'cipherstash/eql-v3/eql_v3_json_search@1' it('test fixture codec ids are members of the pinned v3 set', () => { expect(isCipherstashV3CodecId(V3_TEXT_SEARCH)).toBe(true) diff --git a/packages/prisma-next/test/v3/catalog-invariants.test.ts b/packages/prisma-next/test/v3/catalog-invariants.test.ts index e5971a4f8..348767747 100644 --- a/packages/prisma-next/test/v3/catalog-invariants.test.ts +++ b/packages/prisma-next/test/v3/catalog-invariants.test.ts @@ -13,17 +13,19 @@ describe('FFI catalog invariants (non-structural — pinned)', () => { it('exposes json as a first-class searchable-JSON domain (ste_vec, no scalar caps)', () => { expect(bareDomains.filter((d) => d.includes('json'))).toEqual([ - 'eql_v3_json', + 'eql_v3_json_search', ]) const json = V3_DOMAIN_META_BY_CODEC_ID.get( - 'cipherstash/eql-v3/eql_v3_json@1', + 'cipherstash/eql-v3/eql_v3_json_search@1', ) - expect(json?.nativeType).toBe('public.eql_v3_json') + expect(json?.nativeType).toBe('public.eql_v3_json_search') expect(json?.capabilities.searchableJson).toBe(true) expect(json?.capabilities.equality).toBe(false) expect(Object.keys(json?.indexes ?? {})).toEqual(['ste_vec']) expect( - EXPOSED_DOMAIN_ENTRIES.some(([, m]) => m.bareDomain === 'eql_v3_json'), + EXPOSED_DOMAIN_ENTRIES.some( + ([, m]) => m.bareDomain === 'eql_v3_json_search', + ), ).toBe(true) }) diff --git a/packages/prisma-next/test/v3/catalog.test.ts b/packages/prisma-next/test/v3/catalog.test.ts index 311975233..b6cff3fa2 100644 --- a/packages/prisma-next/test/v3/catalog.test.ts +++ b/packages/prisma-next/test/v3/catalog.test.ts @@ -76,9 +76,9 @@ describe('v3 catalog derivation', () => { it('exposes json as a first-class searchable-JSON domain (ste_vec index)', () => { const meta = V3_DOMAIN_META_BY_CODEC_ID.get( - 'cipherstash/eql-v3/eql_v3_json@1', + 'cipherstash/eql-v3/eql_v3_json_search@1', ) - expect(meta?.nativeType).toBe('public.eql_v3_json') + expect(meta?.nativeType).toBe('public.eql_v3_json_search') expect(meta?.castAs).toBe('json') expect(meta?.capabilities).toEqual({ equality: false, @@ -88,7 +88,9 @@ describe('v3 catalog derivation', () => { }) expect(Object.keys(meta?.indexes ?? {})).toEqual(['ste_vec']) expect( - EXPOSED_DOMAIN_ENTRIES.some(([, m]) => m.bareDomain === 'eql_v3_json'), + EXPOSED_DOMAIN_ENTRIES.some( + ([, m]) => m.bareDomain === 'eql_v3_json_search', + ), ).toBe(true) }) diff --git a/packages/prisma-next/test/v3/codec-runtime-v3.test.ts b/packages/prisma-next/test/v3/codec-runtime-v3.test.ts index 5ad6fe30b..b1a998473 100644 --- a/packages/prisma-next/test/v3/codec-runtime-v3.test.ts +++ b/packages/prisma-next/test/v3/codec-runtime-v3.test.ts @@ -91,10 +91,11 @@ describe('createV3CodecDescriptors — descriptor metadata', () => { ]) }) - it('eql_v3_json declares only the searchable-json trait', () => { + it('eql_v3_json_search declares only the searchable-json trait', () => { const ds = createV3CodecDescriptors(emptySdk()) expect( - ds.find((d) => d.codecId === 'cipherstash/eql-v3/eql_v3_json@1')?.traits, + ds.find((d) => d.codecId === 'cipherstash/eql-v3/eql_v3_json_search@1') + ?.traits, ).toEqual(['cipherstash:searchable-json']) }) @@ -120,7 +121,9 @@ describe('createV3CodecDescriptors — descriptor metadata', () => { expect(render('cipherstash/eql-v3/eql_v3_boolean@1')).toBe( 'EncryptedBoolean', ) - expect(render('cipherstash/eql-v3/eql_v3_json@1')).toBe('EncryptedJson') + expect(render('cipherstash/eql-v3/eql_v3_json_search@1')).toBe( + 'EncryptedJson', + ) }) }) @@ -257,7 +260,7 @@ describe('CipherstashV3CellCodec — decode', () => { expect(bigintDecoded).toBeInstanceOf(EncryptedBigInt) const jsonDecoded = await codecFor( ds, - 'cipherstash/eql-v3/eql_v3_json@1', + 'cipherstash/eql-v3/eql_v3_json_search@1', ).decode('{"c":"x"}', routedCtx('t', 'c')) expect(jsonDecoded).toBeInstanceOf(EncryptedJson) }) diff --git a/packages/prisma-next/test/v3/codec-types-v3.test-d.ts b/packages/prisma-next/test/v3/codec-types-v3.test-d.ts index 8fec2f1d7..fcdb0ca93 100644 --- a/packages/prisma-next/test/v3/codec-types-v3.test-d.ts +++ b/packages/prisma-next/test/v3/codec-types-v3.test-d.ts @@ -110,10 +110,10 @@ describe('v3 CodecTypes entries', () => { it('json carries ONLY the v3-searchable-json marker (v2 jsonb-path methods must not surface)', () => { expectTypeOf< - CodecTypes['cipherstash/eql-v3/eql_v3_json@1']['traits'] + CodecTypes['cipherstash/eql-v3/eql_v3_json_search@1']['traits'] >().toEqualTypeOf<'cipherstash:v3-searchable-json'>() expectTypeOf< - CodecTypes['cipherstash/eql-v3/eql_v3_json@1']['output'] + CodecTypes['cipherstash/eql-v3/eql_v3_json_search@1']['output'] >().toEqualTypeOf() }) diff --git a/packages/prisma-next/test/v3/derive-schemas-v3.test.ts b/packages/prisma-next/test/v3/derive-schemas-v3.test.ts index 9551b9baa..b557d4a40 100644 --- a/packages/prisma-next/test/v3/derive-schemas-v3.test.ts +++ b/packages/prisma-next/test/v3/derive-schemas-v3.test.ts @@ -64,12 +64,12 @@ describe('deriveStackSchemasV3', () => { expect(built?.columns.balance?.cast_as).toBe('bigint') }) - it('derives a types.Json-backed column for public.eql_v3_json (ste_vec)', () => { + it('derives a types.Json-backed column for public.eql_v3_json_search (ste_vec)', () => { const [table] = deriveStackSchemasV3( contract({ payload: { - codecId: 'cipherstash/eql-v3/eql_v3_json@1', - nativeType: 'public.eql_v3_json', + codecId: 'cipherstash/eql-v3/eql_v3_json_search@1', + nativeType: 'public.eql_v3_json_search', }, }), ) diff --git a/packages/prisma-next/test/v3/migration-v3.test.ts b/packages/prisma-next/test/v3/migration-v3.test.ts index 8a7bed350..bf4a639b9 100644 --- a/packages/prisma-next/test/v3/migration-v3.test.ts +++ b/packages/prisma-next/test/v3/migration-v3.test.ts @@ -72,7 +72,7 @@ describe('v3 baseline migration (20260601T0100_install_eql_v3_bundle)', () => { expect(JSON.stringify(v3Ops).length).toBeLessThan(5_000) // @cipherstash/eql is pinned exact (matching @cipherstash/stack, which // encodes the v3 domain types against this same release). - expect(releaseManifest.eqlVersion).toBe('3.0.0') + expect(releaseManifest.eqlVersion).toBe('3.0.2') }) it('injects readInstallSql() from @cipherstash/eql into the descriptor at build time', () => { diff --git a/packages/prisma-next/test/v3/operator-gating-v3.test.ts b/packages/prisma-next/test/v3/operator-gating-v3.test.ts index ff0584e9e..bd9cf5e97 100644 --- a/packages/prisma-next/test/v3/operator-gating-v3.test.ts +++ b/packages/prisma-next/test/v3/operator-gating-v3.test.ts @@ -99,7 +99,7 @@ describe('v3 operator capability gating', () => { ).toThrow(/JSON containment/) }) - it('eql_v3_json is searchableJson-only — rejects eqlEq', () => { + it('eql_v3_json_search is searchableJson-only — rejects eqlEq', () => { expect(() => callOperator( getOperator('eqlEq'), diff --git a/packages/prisma-next/test/v3/operator-lowering-v3-json.test.ts b/packages/prisma-next/test/v3/operator-lowering-v3-json.test.ts index cb83c48ce..fba52756d 100644 --- a/packages/prisma-next/test/v3/operator-lowering-v3-json.test.ts +++ b/packages/prisma-next/test/v3/operator-lowering-v3-json.test.ts @@ -3,23 +3,21 @@ * (`eqlJsonContains`, trait `cipherstash:searchable-json`). * * Canonical dialect (mirrors `v3Dialect.containsJson` in - * `packages/stack-drizzle/src/v3/sql-dialect.ts`): `eql_v3_json` has NO - * `eql_v3.contains` overload — containment is the `@>` operator, whose - * `(eql_v3_json, eql_v3.query_jsonb)` form takes a NARROWED query term + * `packages/stack-drizzle/src/v3/sql-dialect.ts`): `eql_v3_json_search` has NO + * `eql_v3.matches` overload — containment is the `@>` operator, whose + * `(eql_v3_json_search, eql_v3.query_json)` form takes a NARROWED query term * (searchableJson → no ciphertext) cast to the irregular - * `eql_v3.query_jsonb` type: + * `eql_v3.query_json` type: * - * OPERATOR(public.@>) $n::eql_v3.query_jsonb + * OPERATOR(public.@>) $n::eql_v3.query_json * - * The four `eql_v3_json @> ?` RHS overloads mean a bare operand would + * The four `eql_v3_json_search @> ?` RHS overloads mean a bare operand would * be ambiguous ("operator is not unique", 42725) — the explicit cast * is load-bearing. * - * Unlike the bloom `eqlMatch`, this is EXACT jsonb containment: - * no false positives. This is the drizzle reference's full JSON - * operator surface (`contains`); the reference exposes neither a - * containedBy direction nor selector querying, so neither is - * registered here. + * Unlike the bloom `eqlMatch`, this is EXACT jsonb containment with no false + * positives. JSONPath equality uses the same value-selector containment + * primitive; JSONPath ordering combines a selector hash with a scalar term. */ import { describe, expect, it } from 'vitest' @@ -41,7 +39,7 @@ import { } from './operator-lowering-v3.helpers' describe('cipherstash v3 operator lowering — eqlJsonContains', () => { - it('lowers to col OPERATOR(public.@>) $1::eql_v3.query_jsonb', () => { + it('lowers to col OPERATOR(public.@>) $1::eql_v3.query_json', () => { const predicate = callOperator( getOperator('eqlJsonContains'), columnAccessorV3(TABLE, 'payload', JSON_CODEC_ID), @@ -51,7 +49,7 @@ describe('cipherstash v3 operator lowering — eqlJsonContains', () => { contract: contractV3, }) expect(lowered.sql).toMatchInlineSnapshot( - `"SELECT "user"."id" AS "id" FROM "user" WHERE "user"."payload" OPERATOR(public.@>) $1::eql_v3.query_jsonb"`, + `"SELECT "user"."id" AS "id" FROM "user" WHERE "user"."payload" OPERATOR(public.@>) $1::eql_v3.query_json"`, ) }) @@ -104,3 +102,99 @@ describe('cipherstash v3 operator lowering — eqlJsonContains', () => { ).toThrow(/isNull\(\)/) }) }) + +describe('cipherstash v3 operator lowering — JSONPath selectors', () => { + it('uses a value-selector containment needle for exact equality', () => { + const predicate = callOperator( + getOperator('eqlJsonPathEq'), + columnAccessorV3(TABLE, 'payload', JSON_CODEC_ID), + 'profile.age', + 42, + ) + const lowered = makeV3Adapter().lower(selectWithWhere(predicate), { + contract: contractV3, + }) + + expect(lowered.sql).toContain( + '"user"."payload" OPERATOR(public.@>) $1::eql_v3.query_json', + ) + const envelope = literalParamValue(lowered.params[0]) as EncryptedJson + expect(envelope.expose().plaintext).toEqual({ + path: '$.profile.age', + value: 42, + }) + expect(v3QueryTermTypeOf(envelope)).toBe('steVecValueSelector') + }) + + it('includes SQL NULL and absent-path rows for inequality', () => { + const predicate = callOperator( + getOperator('eqlJsonPathNeq'), + columnAccessorV3(TABLE, 'payload', JSON_CODEC_ID), + '$.profile.age', + 42, + ) + const lowered = makeV3Adapter().lower(selectWithWhere(predicate), { + contract: contractV3, + }) + + expect(lowered.sql).toContain( + '("user"."payload" IS NULL OR NOT ("user"."payload" OPERATOR(public.@>) $1::eql_v3.query_json))', + ) + }) + + it('orders an extracted path entry against a ciphertext-free scalar term', () => { + const predicate = callOperator( + getOperator('eqlJsonPathGt'), + columnAccessorV3(TABLE, 'payload', JSON_CODEC_ID), + '$.profile.age', + 42, + ) + const lowered = makeV3Adapter().lower(selectWithWhere(predicate), { + contract: contractV3, + }) + + expect(lowered.sql).toContain( + 'eql_v3.gt(eql_v3.jsonb_path_query_first("user"."payload", $1::text), $2::eql_v3.query_double_ord)', + ) + const selector = literalParamValue(lowered.params[0]) as EncryptedJson + const term = literalParamValue(lowered.params[1]) as EncryptedJson + expect(selector.expose().plaintext).toBe('$.profile.age') + expect(term.expose().plaintext).toBe(42) + expect(v3QueryTermTypeOf(selector)).toBe('steVecSelector') + expect(v3QueryTermTypeOf(term)).toBe('steVecTerm') + }) + + it('uses the text ordering query domain for string leaves', () => { + const predicate = callOperator( + getOperator('eqlJsonPathLte'), + columnAccessorV3(TABLE, 'payload', JSON_CODEC_ID), + '$.profile.name', + 'zoe', + ) + const lowered = makeV3Adapter().lower(selectWithWhere(predicate), { + contract: contractV3, + }) + expect(lowered.sql).toContain('$2::eql_v3.query_text_ord') + }) + + it('rejects malformed paths and non-orderable leaves before encryption', () => { + const col = columnAccessorV3(TABLE, 'payload', JSON_CODEC_ID) + expect(() => + callOperator(getOperator('eqlJsonPathEq'), col, '$.a[0]', 'x'), + ).toThrow(/array\/wildcard syntax/) + expect(() => + callOperator(getOperator('eqlJsonPathEq'), col, '$.a', { nested: true }), + ).toThrow(/JSON scalar leaf/) + expect(() => + callOperator(getOperator('eqlJsonPathGt'), col, '$.a', true), + ).toThrow(/boolean leaf has no ordering/) + expect(() => + callOperator( + getOperator('eqlJsonPathEq'), + col, + '$.a', + Number.POSITIVE_INFINITY, + ), + ).toThrow(/JSON supports only finite numbers/) + }) +}) diff --git a/packages/prisma-next/test/v3/operator-lowering-v3-text-search.test.ts b/packages/prisma-next/test/v3/operator-lowering-v3-text-search.test.ts index 486ab5bdf..74cb53aaa 100644 --- a/packages/prisma-next/test/v3/operator-lowering-v3-text-search.test.ts +++ b/packages/prisma-next/test/v3/operator-lowering-v3-text-search.test.ts @@ -1,7 +1,7 @@ /** * v3 operator lowering — free-text search (`eqlMatch`). * - * Canonical dialect: `eql_v3.contains(, $n::eql_v3.query_)`. + * Canonical dialect: `eql_v3.matches(, $n::eql_v3.query_)`. * The SQL function keeps its bundle name `contains`, but the semantics * are a bloom-filter TOKEN MATCH, not SQL LIKE/ILIKE and not * containment: the needle's downcased 3-gram set is tested as a subset @@ -21,7 +21,7 @@ * with the shared `matchNeedleError` reason (adapter-kit — same * guard as the Drizzle and Supabase v3 surfaces). * - * There is NO negated match (`eql_v3.contains` may false-positive, so + * There is NO negated match (`eql_v3.matches` may false-positive, so * its negation would false-negative — silently dropping rows that * genuinely don't match; PR #655 review). The registry must not expose * one, pinned below. @@ -59,10 +59,10 @@ function lowerMatch(needle: unknown) { } describe('cipherstash v3 operator lowering — eqlMatch', () => { - it('lowers to eql_v3.contains(col, $1::eql_v3.query_text_search)', () => { + it('lowers to eql_v3.matches(col, $1::eql_v3.query_text_search)', () => { const lowered = lowerMatch('alice') expect(lowered.sql).toMatchInlineSnapshot( - `"SELECT "user"."id" AS "id" FROM "user" WHERE eql_v3.contains("user"."email", $1::eql_v3.query_text_search)"`, + `"SELECT "user"."id" AS "id" FROM "user" WHERE eql_v3.matches("user"."email", $1::eql_v3.query_text_search)"`, ) }) @@ -85,7 +85,7 @@ describe('cipherstash v3 operator lowering — eqlMatch needle guards', () => { it('strips leading/trailing % — the STRIPPED needle is what gets encrypted', () => { const lowered = lowerMatch('%alice%') expect(lowered.sql).toContain( - 'eql_v3.contains("user"."email", $1::eql_v3.query_text_search)', + 'eql_v3.matches("user"."email", $1::eql_v3.query_text_search)', ) expect(lowered.params).toHaveLength(1) const envelope = literalParamValue(lowered.params[0]) @@ -154,7 +154,7 @@ describe('cipherstash v3 operator lowering — eqlMatch needle guards', () => { describe('cipherstash v3 registry — no negated match', () => { it('exposes neither eqlNotMatch nor the removed cipherstashNotIlike', () => { - // `eql_v3.contains` is one-sided (may false-positive), so a negated + // `eql_v3.matches` is one-sided (may false-positive), so a negated // form would FALSE-NEGATIVE — silently dropping rows that genuinely // don't match. Until a decrypt-and-post-filter path exists, the // registry must not offer one (PR #655 review; same removal as the diff --git a/packages/prisma-next/test/v3/operator-lowering-v3.helpers.ts b/packages/prisma-next/test/v3/operator-lowering-v3.helpers.ts index 35831df54..0cea7a065 100644 --- a/packages/prisma-next/test/v3/operator-lowering-v3.helpers.ts +++ b/packages/prisma-next/test/v3/operator-lowering-v3.helpers.ts @@ -71,7 +71,7 @@ export const BIGINT_ORD_ORE_CODEC_ID = 'cipherstash/eql-v3/eql_v3_bigint_ord_ore@1' export const DATE_ORD_CODEC_ID = 'cipherstash/eql-v3/eql_v3_date_ord@1' export const BOOLEAN_CODEC_ID = 'cipherstash/eql-v3/eql_v3_boolean@1' -export const JSON_CODEC_ID = 'cipherstash/eql-v3/eql_v3_json@1' +export const JSON_CODEC_ID = 'cipherstash/eql-v3/eql_v3_json_search@1' /** * Build a contract column entry for a v3 codec id, deriving `nativeType` diff --git a/packages/prisma-next/test/v3/properties.test.ts b/packages/prisma-next/test/v3/properties.test.ts index 175d93f8b..b90df1420 100644 --- a/packages/prisma-next/test/v3/properties.test.ts +++ b/packages/prisma-next/test/v3/properties.test.ts @@ -366,6 +366,36 @@ describe('property: operator-gating totality (every domain × every operator)', capability: 'searchableJson', args: (v) => [v], }, + { + method: 'eqlJsonPathEq', + capability: 'searchableJson', + args: () => ['$.value', 'needle'], + }, + { + method: 'eqlJsonPathNeq', + capability: 'searchableJson', + args: () => ['$.value', 'needle'], + }, + { + method: 'eqlJsonPathGt', + capability: 'searchableJson', + args: () => ['$.value', 42], + }, + { + method: 'eqlJsonPathGte', + capability: 'searchableJson', + args: () => ['$.value', 42], + }, + { + method: 'eqlJsonPathLt', + capability: 'searchableJson', + args: () => ['$.value', 42], + }, + { + method: 'eqlJsonPathLte', + capability: 'searchableJson', + args: () => ['$.value', 42], + }, ] it('each pair either lowers with the canonical query cast or throws EncryptionOperatorError, decided by the capability', () => { @@ -389,9 +419,13 @@ describe('property: operator-gating totality (every domain × every operator)', // internal-invariant throw in requireQueryCast must be dead code. const template = templateOf(call()) const cast = - opCase.method === 'eqlJsonContains' - ? 'eql_v3.query_jsonb' - : expectedQueryCast(meta) + opCase.method === 'eqlJsonContains' || + opCase.method === 'eqlJsonPathEq' || + opCase.method === 'eqlJsonPathNeq' + ? 'eql_v3.query_json' + : opCase.method.startsWith('eqlJsonPath') + ? 'eql_v3.query_double_ord' + : expectedQueryCast(meta) expect(template, label).toContain(`::${cast}`) } } diff --git a/packages/prisma-next/test/v3/runtime-v3.test.ts b/packages/prisma-next/test/v3/runtime-v3.test.ts index 69ddafdca..b0da9247f 100644 --- a/packages/prisma-next/test/v3/runtime-v3.test.ts +++ b/packages/prisma-next/test/v3/runtime-v3.test.ts @@ -84,6 +84,8 @@ describe('createCipherstashV3RuntimeDescriptor — descriptor shape', () => { ) expect(methods).toContain('eqlEq') expect(methods).toContain('eqlJsonContains') + expect(methods).toContain('eqlJsonPathEq') + expect(methods).toContain('eqlJsonPathGt') }) it('create() returns a target-bound SQL/Postgres instance', () => { diff --git a/packages/prisma-next/test/v3/sdk-adapter-v3.test.ts b/packages/prisma-next/test/v3/sdk-adapter-v3.test.ts index b02fa8a1a..262dae5b2 100644 --- a/packages/prisma-next/test/v3/sdk-adapter-v3.test.ts +++ b/packages/prisma-next/test/v3/sdk-adapter-v3.test.ts @@ -207,6 +207,40 @@ describe('createCipherstashV3Sdk — query-term routing (Task 6 seam)', () => { expect(out).toEqual([{ qt: 'json-term', value: { role: 'admin' } }]) }) + it('routes selector, value-selector, and ordering terms through their explicit SteVec flavours', async () => { + const users = makeUsersTable() + const { client, calls } = makeFakeClient() + const sdk = createCipherstashV3Sdk(client, [users]) + + const selector = EncryptedJson.from('$.profile.age') + const valueSelector = EncryptedJson.from({ + path: '$.profile.age', + value: 42, + }) + const orderTerm = EncryptedJson.from(42) + markV3QueryTerm(selector, 'steVecSelector') + markV3QueryTerm(valueSelector, 'steVecValueSelector') + markV3QueryTerm(orderTerm, 'steVecTerm') + + const out = await sdk.bulkEncrypt({ + routingKey: { table: 'users', column: 'payload' }, + values: [selector, valueSelector, orderTerm], + }) + + expect(calls.encryptQuerySingle).toHaveLength(0) + expect(calls.encryptQueryBatch).toHaveLength(3) + expect( + calls.encryptQueryBatch + .flat() + .map((term) => (term as { queryType: string }).queryType), + ).toEqual(['steVecSelector', 'steVecValueSelector', 'steVecTerm']) + expect(out).toEqual([ + { qt: 'term-0', value: '$.profile.age' }, + { qt: 'term-0', value: { path: '$.profile.age', value: 42 } }, + { qt: 'term-0', value: 42 }, + ]) + }) + it('keeps mixed storage values and query terms position-stable', async () => { const users = makeUsersTable() const { client, calls } = makeFakeClient() diff --git a/packages/stack-drizzle/__tests__/v3/operators.test.ts b/packages/stack-drizzle/__tests__/v3/operators.test.ts index 95a2f8053..227959f4d 100644 --- a/packages/stack-drizzle/__tests__/v3/operators.test.ts +++ b/packages/stack-drizzle/__tests__/v3/operators.test.ts @@ -105,7 +105,7 @@ const orderDomains = matrixEntries.filter( const matchDomains = matrixEntries.filter(([, spec]) => spec.indexes.match) // Domains with NO scalar query index (unique/ore/ope/match), so `eq`/`ne`/ // ordering all throw. This is the truly storage-only scalar domains PLUS -// `eql_v3_json` — json is a QUERYABLE domain (containment), it just answers no +// `eql_v3_json_search` — json is a QUERYABLE domain (containment), it just answers no // scalar op, so it lands here for the eq/order rejection checks. const nonScalarQueryDomains = matrixEntries.filter( ([, spec]) => @@ -358,12 +358,12 @@ describe('createEncryptionOperatorsV3 - comparison & range', () => { describe('createEncryptionOperatorsV3 - free-text match', () => { it.each( matchDomains, - )('%s matches emits latest eql_v3.contains with a query-term operand', async (eqlType, spec) => { + )('%s matches emits latest eql_v3.matches with a query-term operand', async (eqlType, spec) => { const { ops, encryptQuery, render } = setup() const q = render(await ops.matches(matrixColumn(eqlType), needleFor(spec))) expect(q.sql).toContain( - `eql_v3.contains("matrix_users"."${slug(eqlType)}", $1::${qcast(eqlType)})`, + `eql_v3.matches("matrix_users"."${slug(eqlType)}", $1::${qcast(eqlType)})`, ) expect(q.params).toEqual([TERM_JSON]) expect(encryptQuery.mock.calls[0]?.[1]?.column.getName()).toBe( @@ -392,7 +392,7 @@ describe('createEncryptionOperatorsV3 - free-text match', () => { const { ops, render } = setup() const q = render(await ops.matches(users.email, 'ada')) expect(q.sql).toContain( - 'eql_v3.contains("users"."email", $1::eql_v3.query_text_search)', + 'eql_v3.matches("users"."email", $1::eql_v3.query_text_search)', ) }) @@ -401,7 +401,7 @@ describe('createEncryptionOperatorsV3 - free-text match', () => { const q = render(ops.not(await ops.matches(users.email, 'example.com'))) expect(q.sql).toMatch(/^not /i) expect(q.sql).toContain( - 'eql_v3.contains("users"."email", $1::eql_v3.query_text_search)', + 'eql_v3.matches("users"."email", $1::eql_v3.query_text_search)', ) }) @@ -414,21 +414,21 @@ describe('createEncryptionOperatorsV3 - free-text match', () => { }) describe('createEncryptionOperatorsV3 - JSON containment', () => { - const JSON_TYPE = 'public.eql_v3_json' + const JSON_TYPE = 'public.eql_v3_json_search' - // json has no `eql_v3.contains` overload: containment is the `@>` operator, - // and the needle is a narrowed `query_jsonb` term from `encryptQuery` (no - // ciphertext), cast to `eql_v3.query_jsonb`. - it('contains emits the @> operator with a query_jsonb needle', async () => { + // json has no `eql_v3.matches` overload: containment is the `@>` operator, + // and the needle is a narrowed `query_json` term from `encryptQuery` (no + // ciphertext), cast to `eql_v3.query_json`. + it('contains emits the @> operator with a query_json needle', async () => { const { ops, encryptQuery, render } = setup() const q = render( await ops.contains(matrixColumn(JSON_TYPE), { roles: ['eng'] }), ) expect(q.sql.toLowerCase()).toContain( - `"matrix_users"."${slug(JSON_TYPE)}" operator(public.@>) $1::eql_v3.query_jsonb`, + `"matrix_users"."${slug(JSON_TYPE)}" operator(public.@>) $1::eql_v3.query_json`, ) - expect(q.sql).not.toContain('eql_v3.contains') + expect(q.sql).not.toContain('eql_v3.matches') // The needle is the encryptQuery result, not a full storage envelope. expect(q.params).toEqual([TERM_JSON]) expect(encryptQuery).toHaveBeenCalledTimes(1) @@ -476,6 +476,75 @@ describe('createEncryptionOperatorsV3 - JSON containment', () => { }) }) +describe('createEncryptionOperatorsV3 - JSON selectors', () => { + const JSON_TYPE = 'public.eql_v3_json_search' + const column = matrixColumn(JSON_TYPE) + const VALUE_SELECTOR = { sv: [{ s: 'value-selector' }] } + const ORDER_TERM = { v: 3, i: {}, op: 'ordered-value' } + + it('uses value-selector containment for equality and inequality', async () => { + const { ops, encryptQuery, render } = setup((value) => + typeof value === 'object' ? VALUE_SELECTOR : TERM, + ) + + const eq = render(await ops.selector(column, '$.profile.age').eq(42)) + const ne = render(await ops.selector(column, '$.profile.age').ne(42)) + + expect(eq.sql.toLowerCase()).toContain( + `"matrix_users"."${slug(JSON_TYPE)}" operator(public.@>) $1::eql_v3.query_json`, + ) + expect(ne.sql).toContain('NOT') + expect(ne.sql).toContain('IS NULL') + expect(eq.params).toEqual([JSON.stringify(VALUE_SELECTOR)]) + expect(encryptQuery.mock.calls[0]?.[0]).toEqual({ + path: '$.profile.age', + value: 42, + }) + expect(encryptQuery.mock.calls[0]?.[1]).toMatchObject({ + queryType: 'steVecValueSelector', + }) + }) + + it('orders the extracted entry against a ciphertext-free scalar term', async () => { + const { ops, encryptQuery, render } = setup((value) => + typeof value === 'string' && value.startsWith('$.') + ? 'selector-hash' + : ORDER_TERM, + ) + + const q = render(await ops.selector(column, 'profile.age').gt(42)) + + expect(q.sql).toContain( + 'eql_v3.gt(eql_v3.jsonb_path_query_first("matrix_users"."eql_v3_json_search", $1::text), $2::eql_v3.query_double_ord)', + ) + expect(q.params).toEqual(['selector-hash', JSON.stringify(ORDER_TERM)]) + expect(encryptQuery.mock.calls.map((call) => call[1]?.queryType)).toEqual([ + 'steVecSelector', + 'steVecTerm', + ]) + }) + + it('uses the text query domain and rejects non-JSON scalar leaves', async () => { + const { ops, render } = setup((value) => + typeof value === 'string' && value.startsWith('$.') + ? 'selector-hash' + : ORDER_TERM, + ) + const q = render(await ops.selector(column, '$.profile.name').lte('zoe')) + expect(q.sql).toContain('::eql_v3.query_text_ord') + + await expect( + ops.selector(column, '$.profile').eq(new Date()), + ).rejects.toThrow(/pass date\.toISOString/) + await expect(ops.selector(column, '$.profile').gt(true)).rejects.toThrow( + /boolean leaf has no ordering/, + ) + await expect( + ops.selector(column, '$.profile').eq(Number.NaN), + ).rejects.toThrow(/JSON supports only finite numbers/) + }) +}) + describe('createEncryptionOperatorsV3 - domains with no scalar query', () => { it.each(nonScalarQueryDomains)('%s eq throws', async (eqlType, spec) => { const { ops } = setup() diff --git a/packages/stack-drizzle/__tests__/v3/sql-dialect.test.ts b/packages/stack-drizzle/__tests__/v3/sql-dialect.test.ts index 7520a672f..ba76f7270 100644 --- a/packages/stack-drizzle/__tests__/v3/sql-dialect.test.ts +++ b/packages/stack-drizzle/__tests__/v3/sql-dialect.test.ts @@ -50,7 +50,7 @@ describe('v3Dialect', () => { it('contains via two-arg function', () => { expect(render(v3Dialect.contains(col, enc))).toBe( - 'eql_v3.contains("users"."x", $1)', + 'eql_v3.matches("users"."x", $1)', ) }) diff --git a/packages/stack-drizzle/integration/json-contains.integration.test.ts b/packages/stack-drizzle/integration/json-contains.integration.test.ts index de3e7b391..cc05283dc 100644 --- a/packages/stack-drizzle/integration/json-contains.integration.test.ts +++ b/packages/stack-drizzle/integration/json-contains.integration.test.ts @@ -3,8 +3,8 @@ * operators. Seeds encrypted JSONB documents and queries them with * `ops.contains(col, subObject)` — EXACT containment (distinct from the fuzzy * `ops.matches` used for text search). On a `json` column it emits the `@>` - * operator over the encrypted JSONB document (json has no `eql_v3.contains` - * overload) with a `query_jsonb` needle from `encryptQuery` — asserting it + * operator over the encrypted JSONB document (json has no `eql_v3.matches` + * overload) with a `query_json` needle from `encryptQuery` — asserting it * returns exactly the rows whose document contains the sub-object (jsonb `@>` * semantics), and excludes the rest. */ @@ -70,7 +70,7 @@ beforeAll(async () => { id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY, row_key TEXT NOT NULL, test_run_id TEXT NOT NULL, - doc public.eql_v3_json NOT NULL + doc public.eql_v3_json_search NOT NULL ) `) diff --git a/packages/stack-drizzle/integration/json-selector.integration.test.ts b/packages/stack-drizzle/integration/json-selector.integration.test.ts index e22fd4bcd..fc9d773b0 100644 --- a/packages/stack-drizzle/integration/json-selector.integration.test.ts +++ b/packages/stack-drizzle/integration/json-selector.integration.test.ts @@ -2,13 +2,9 @@ * Live JSONPath selector-with-constraint for the v3 `types.Json()` column (#623). * Distinct from containment (`ops.contains`, `@>`): this extracts the encrypted * leaf entry at a JSONPath and compares it, so it can express ORDERING at a path - * (`col->'$.age' > 25`) that containment cannot. Emits - * `eql_v3.(eql_v3.jsonb_path_query_first(col, ''), eql_v3.jsonb_path_query_first(''::eql_v3_json, ''))`. - * - * INTERIM (cipherstash/protectjs-ffi#137): the RHS needle is a STORAGE encryption - * of `{path: value}` — its ste_vec entry carries `c` + `op`/`hm`, which the - * comparison extracts. Once protect-ffi can mint a ciphertext-free ordering query - * needle for a ste_vec column, the RHS drops the ciphertext. + * (`col->'$.age' > 25`) that containment cannot. Equality uses exact + * value-selector containment; ordering compares the extracted entry with a + * ciphertext-free scalar query term. */ import type { JsonDocument } from '@cipherstash/stack/eql/v3' @@ -74,7 +70,7 @@ beforeAll(async () => { id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY, row_key TEXT NOT NULL, test_run_id TEXT NOT NULL, - doc public.eql_v3_json NOT NULL + doc public.eql_v3_json_search NOT NULL ) `) diff --git a/packages/stack-drizzle/package.json b/packages/stack-drizzle/package.json index b0ca4bc50..a49931e78 100644 --- a/packages/stack-drizzle/package.json +++ b/packages/stack-drizzle/package.json @@ -79,7 +79,7 @@ "drizzle-orm": ">=0.33" }, "devDependencies": { - "@cipherstash/protect-ffi": "0.29.0", + "@cipherstash/protect-ffi": "0.30.0", "@cipherstash/test-kit": "workspace:*", "fta-cli": "3.0.0", "dotenv": "17.4.2", diff --git a/packages/stack-drizzle/src/v3/operators.ts b/packages/stack-drizzle/src/v3/operators.ts index 0e0ed3654..a61fd86aa 100644 --- a/packages/stack-drizzle/src/v3/operators.ts +++ b/packages/stack-drizzle/src/v3/operators.ts @@ -70,14 +70,6 @@ type OperandEncryptionClient = { opts: never, ): ChainableOperation encryptQuery(terms: never): ChainableOperation - /** - * Storage encryption — the JSON selector RHS. See {@link selectorCompare}: - * pending a ciphertext-free ordering query needle from protect-ffi - * (cipherstash/protectjs-ffi#137), the right-hand operand is a STORAGE - * encryption of `{path: value}`, whose ste_vec entry at the selector carries - * the `c` + `op`/`hm` the comparison extracts. - */ - encrypt(value: never, opts: never): ChainableOperation } // Path helpers now live in @cipherstash/stack/adapter-kit (shared with the @@ -117,7 +109,7 @@ interface ColumnContext { * `encryptQuery`'s ciphertext-free term reaches the narrowed-query overloads. * `null` for storage-only columns (no query domain); those never encrypt an * operand — every operator gates on a query capability first. JSON columns - * override this at the call site (`query_jsonb`, an irregular name). */ + * override this at the call site (`query_json`, an irregular name). */ queryCast: string | null } @@ -127,7 +119,7 @@ interface ColumnContext { * queryable column domains (`_eq`, `_ord`, `_ord_ore`, `_match`, `_search`); the * two irregular cases are handled elsewhere: storage-only domains * (`eql_v3_boolean`, the bare base types) have no query domain and return `null` - * (they are never queried), and `eql_v3_json` maps to `query_jsonb`, cast + * (they are never queried), and `eql_v3_json_search` maps to `query_json`, cast * explicitly on the JSON path. */ function queryCastForDomain(eqlType: string): string | null { @@ -285,9 +277,9 @@ export function createEncryptionOperatorsV3( // Two DISTINCT operators, split by semantics (#617): // - `matches` is bloom free-text (`match`, a `text_search`/`text_match` // column): a one-sided, order- and multiplicity-insensitive token match that - // may false-positive. It emits `eql_v3.contains(col, operand)` (the SQL + // may false-positive. It emits `eql_v3.matches(col, operand)` (the SQL // function keeps its bundle name) but is NOT containment. - // - `contains` is encrypted-JSONB containment (an `eql_v3_json` column, + // - `contains` is encrypted-JSONB containment (an `eql_v3_json_search` column, // `ste_vec` index): exact jsonb `@>`, no false positives — genuine // containment, so it keeps the `contains` name. const MATCH_INDEXES = ['match'] as const @@ -497,7 +489,7 @@ export function createEncryptionOperatorsV3( * containment: it tests whether the needle's downcased 3-gram set is a subset * of the haystack's, via a bloom filter — order- and multiplicity-insensitive * and one-sided (a `true` may be a false positive, a `false` never is). Emits - * `eql_v3.contains(col, operand)` (the SQL function's bundle name). + * `eql_v3.matches(col, operand)` (the SQL function's bundle name). */ async function matches( left: SQLWrapper, @@ -522,11 +514,11 @@ export function createEncryptionOperatorsV3( } /** - * Exact encrypted-JSONB containment on an `eql_v3_json` (`ste_vec`) column: + * Exact encrypted-JSONB containment on an `eql_v3_json_search` (`ste_vec`) column: * genuine jsonb `@>`, no false positives — hence it keeps the `contains` name. - * `eql_v3_json` has no `eql_v3.contains` overload; containment is the `@>` - * operator, whose `(eql_v3_json, eql_v3.query_jsonb)` form takes a NARROWED - * query term (searchableJson → no ciphertext), cast to `eql_v3.query_jsonb`. + * `eql_v3_json_search` has no `eql_v3.matches` overload; containment is the `@>` + * operator, whose `(eql_v3_json_search, eql_v3.query_json)` form takes a NARROWED + * query term (searchableJson → no ciphertext), cast to `eql_v3.query_json`. */ async function containsJsonOp( left: SQLWrapper, @@ -541,11 +533,11 @@ export function createEncryptionOperatorsV3( } /** - * Build a `query_jsonb` containment needle for a `json` column — the JSON query - * term carries no ciphertext and satisfies the `eql_v3.query_jsonb` CHECK the + * Build a `query_json` containment needle for a `json` column — the JSON query + * term carries no ciphertext and satisfies the `eql_v3.query_json` CHECK the * `@>` overload needs. Cast here (not by `queryCastForDomain`): a json column's - * domain is `eql_v3_json` but its query operand type is the irregular - * `eql_v3.query_jsonb`. + * domain is `eql_v3_json_search` but its query operand type is the irregular + * `eql_v3.query_json`. */ async function encryptJsonContainmentTerm( ctx: ColumnContext, @@ -584,27 +576,15 @@ export function createEncryptionOperatorsV3( if (result.failure) { throw operandFailure(ctx, operator, result.failure.message) } - return sql`${JSON.stringify(result.data)}::eql_v3.query_jsonb` + return sql`${JSON.stringify(result.data)}::eql_v3.query_json` } /** - * JSONPath selector-with-constraint on an `eql_v3_json` (`ste_vec`) column: - * `col->'path' value`. Extracts the encrypted leaf entry at `path` on both - * sides (`v3Dialect.selectorEntry` → `jsonb_path_query_first`) and compares them - * with the `eql_v3_jsonb_entry` comparators; `eq_term`/`ord_term` read only the - * entries' `hm`/`op`. - * - * - the SELECTOR (`path`): `encryptQuery(path, searchableJson)` on a string - * needle infers a `ste_vec_selector` term → the bare HMAC selector hash, the - * `text` argument of `jsonb_path_query_first`. - * - the VALUE (RHS): **interim (cipherstash/protectjs-ffi#137)** — a STORAGE - * `encrypt` of `{path: value}`, whose ste_vec entry carries `c` + `op`/`hm`. - * protect-ffi can't yet mint a ciphertext-free ordering query needle for a - * ste_vec column, so the value's ciphertext appears in the WHERE clause until - * #137 lands; the comparison itself only reads `hm`/`op`. - * - * Equality-at-selector is also expressible via `contains(col, {path: value})`; - * this path's unique power is ORDERING at a selector (`gt`/`gte`/`lt`/`lte`). + * JSONPath selector-with-constraint on an `eql_v3_json_search` (`ste_vec`) + * column. Equality uses a value-selector containment needle, allowing the + * functional GIN index to answer the query. Ordering extracts the path entry + * with a selector hash and compares it to a ciphertext-free scalar ordering + * term. No storage ciphertext is placed in the WHERE clause. */ async function selectorCompare( col: SQLWrapper, @@ -645,35 +625,54 @@ export function createEncryptionOperatorsV3( ) } - // INTERIM (cipherstash/protectjs-ffi#137): the RHS is a STORAGE-encrypted - // needle, not a ciphertext-free query term. protect-ffi can't yet mint an - // ordering (`op`) query needle for a ste_vec column — `encryptQuery` only - // produces the `hm` equality term. So we storage-encrypt `{path: value}`, - // whose ste_vec entry at the selector carries `c` + `op`/`hm`, and extract - // that entry on the RHS. `eq_term`/`ord_term` read only `hm`/`op`, so the - // comparison is correct; the tradeoff is the value's ciphertext appears in - // the WHERE clause. Once #137 lands, the RHS becomes a ciphertext-free term. - // - // The selector hash and the storage needle are independent → encrypt - // concurrently (mirrors `range`). - const [selResult, docResult] = await Promise.all([ + const canonicalPath = jsonPathOf(segments) + + if (op === 'eq' || op === 'ne') { + const result = await applyOperationOptions( + client.encryptQuery( + { path: canonicalPath, value } as never, + { + table: ctx.table, + column: ctx.builder, + queryType: 'steVecValueSelector', + } as never, + ), + opts, + ) + if (result.failure) { + throw operandFailure(ctx, operator, result.failure.message) + } + const contains = v3Dialect.containsJson( + colSql(col), + sql`${JSON.stringify(result.data)}::eql_v3.query_json`, + ) + return op === 'eq' + ? contains + : sql`(NOT ${contains} OR ${colSql(col)} IS NULL)` + } + + // Selector hashing and scalar-term encryption are independent, so order + // them concurrently. `steVecTerm` accepts only the JSON-orderable scalar + // families (string and number), enforced above. + const [selResult, termResult] = await Promise.all([ applyOperationOptions( client.encryptQuery( - jsonPathOf(segments) as never, + canonicalPath as never, { table: ctx.table, column: ctx.builder, - queryType: 'searchableJson', + queryType: 'steVecSelector', } as never, ), opts, ), applyOperationOptions( - client.encrypt( - reconstructSelectorDocument(segments, value) as never, + client.encryptQuery( + value as never, { table: ctx.table, column: ctx.builder, + queryType: 'steVecTerm', } as never, ), opts, @@ -682,8 +681,8 @@ export function createEncryptionOperatorsV3( if (selResult.failure) { throw operandFailure(ctx, operator, selResult.failure.message) } - if (docResult.failure) { - throw operandFailure(ctx, operator, docResult.failure.message) + if (termResult.failure) { + throw operandFailure(ctx, operator, termResult.failure.message) } // A v3 selector term is the bare HMAC hash string; guard the shape so a @@ -699,20 +698,12 @@ export function createEncryptionOperatorsV3( const selSql = sql`${selValue}::text` const leftEntry = v3Dialect.selectorEntry(colSql(col), selSql) - const rightEntry = v3Dialect.selectorEntry( - sql`${JSON.stringify(docResult.data)}::public.eql_v3_json`, - selSql, - ) - if (op === 'eq') return v3Dialect.equality('eq', leftEntry, rightEntry) - if (op === 'ne') { - // Absent-path semantics: a row whose document lacks the path yields a NULL - // entry, and "not equal to X" should INCLUDE "has no X". Without the - // `IS NULL` arm, three-valued logic silently drops those rows. (`eq` and the - // ordering ops keep SQL's default: a missing path is not equal to / not - // greater than the value, so those rows are correctly excluded.) - return sql`(${v3Dialect.equality('ne', leftEntry, rightEntry)} OR ${leftEntry} IS NULL)` - } - return v3Dialect.comparison(op, leftEntry, rightEntry) + const termCast = + typeof value === 'string' + ? 'eql_v3.query_text_ord' + : 'eql_v3.query_double_ord' + const rightTerm = sql`${JSON.stringify(termResult.data)}::${sql.raw(termCast)}` + return v3Dialect.comparison(op, leftEntry, rightTerm) } /** Comparison methods bound to a `col->'path'` selector, mirroring the scalar diff --git a/packages/stack-drizzle/src/v3/sql-dialect.ts b/packages/stack-drizzle/src/v3/sql-dialect.ts index aac0ae0b1..db1c7e0ba 100644 --- a/packages/stack-drizzle/src/v3/sql-dialect.ts +++ b/packages/stack-drizzle/src/v3/sql-dialect.ts @@ -48,34 +48,23 @@ export const v3Dialect = { }, contains(left: SQL, enc: SQL): SQL { - return sql`${fn('contains')}(${left}, ${enc})` + return sql`${fn('matches')}(${left}, ${enc})` }, /** - * Encrypted-JSONB containment (`eql_v3_json @> sub-document`). Unlike text, - * json has NO `eql_v3.contains` overload — containment is the `@>` operator, - * whose `(eql_v3_json, eql_v3.query_jsonb)` form takes the `query_jsonb` needle - * the operator layer produced. The four `eql_v3_json @> ?` RHS overloads mean a + * Encrypted-JSONB containment (`eql_v3_json_search @> sub-document`). Unlike text, + * json has NO `eql_v3.matches` overload — containment is the `@>` operator, + * whose `(eql_v3_json_search, eql_v3.query_json)` form takes the `query_json` needle + * the operator layer produced. The four `eql_v3_json_search @> ?` RHS overloads mean a * bare operand would be ambiguous ("operator is not unique", 42725), so the - * needle is pre-cast to `eql_v3.query_jsonb` upstream (see + * needle is pre-cast to `eql_v3.query_json` upstream (see * `encryptJsonContainmentTerm`). */ containsJson(left: SQL, enc: SQL): SQL { return sql`${left} OPERATOR(public.@>) ${enc}` }, - /** - * Extract the encrypted JSONB leaf entry at a selector: - * `eql_v3.jsonb_path_query_first(src, sel)` → `eql_v3_jsonb_entry`. `src` is - * either an `eql_v3_json` column or a storage-needle document already cast to - * `eql_v3_json`; `sel` is the selector hash bound as `text`. The returned entry - * feeds `eql_v3.{eq,neq,lt,lte,gt,gte}(jsonb_entry, jsonb_entry)`, so a selector - * comparison is `equality`/`comparison` applied to two extractions (column side - * and needle side) rather than column vs operand. - * - * The root `eql_v3_json` domain has no comparison operators (they're blocked in - * the bundle), which is why the selector must be extracted before comparing. - */ + /** Extract the encrypted JSON leaf entry addressed by a selector hash. */ selectorEntry(source: SQL, selector: SQL): SQL { return sql`${fn('jsonb_path_query_first')}(${source}, ${selector})` }, diff --git a/packages/stack-supabase/README.md b/packages/stack-supabase/README.md index 4e5a3e063..746cfc902 100644 --- a/packages/stack-supabase/README.md +++ b/packages/stack-supabase/README.md @@ -13,7 +13,13 @@ npm install @cipherstash/stack @cipherstash/stack-supabase @supabase/supabase-js `encryptedSupabaseV3` introspects the database at connect time (native `public.eql_v3_*` column domains) — no schema argument, `select('*')` support, -`contains()` free-text search, and encrypted `order()` on OPE columns. +equality/range filters, and encrypted `order()` on OPE columns. + +EQL 3.0.2 requires typed query-domain operands for encrypted free-text and JSON +operators. PostgREST cannot express those casts, so v3 `matches()`, encrypted +`contains()`, and `selectorEq()`/`selectorNe()` fail fast with this EQL release. +Use the Drizzle or Prisma Next adapter, or a carefully scoped direct SQL/RPC +path. ```ts import { encryptedSupabaseV3 } from '@cipherstash/stack-supabase' diff --git a/packages/stack-supabase/__tests__/supabase-introspect.test.ts b/packages/stack-supabase/__tests__/supabase-introspect.test.ts index 9259da720..9c83d348f 100644 --- a/packages/stack-supabase/__tests__/supabase-introspect.test.ts +++ b/packages/stack-supabase/__tests__/supabase-introspect.test.ts @@ -1,6 +1,24 @@ import fc from 'fast-check' import { afterEach, describe, expect, it, vi } from 'vitest' -import { groupIntrospectionRows, loadPg } from '../src/introspect' +import { + eqlRequiresQueryDomains, + groupIntrospectionRows, + loadPg, +} from '../src/introspect' + +describe('eqlRequiresQueryDomains', () => { + it.each([ + [null, true], + ['unknown', true], + ['3.0.0', false], + ['3.0.1', false], + ['3.0.2', true], + ['3.1.0', true], + ['4.0.0', true], + ] as const)('classifies %s', (version, expected) => { + expect(eqlRequiresQueryDomains(version)).toBe(expected) + }) +}) describe('groupIntrospectionRows', () => { it('groups rows by table, preserving row order as column order', () => { @@ -79,7 +97,7 @@ describe('groupIntrospectionRows', () => { describe('introspect happy path', () => { afterEach(() => vi.resetModules()) - it('issues both queries, builds the domains, and closes the connection', async () => { + it('issues all queries, builds the domains, and closes the connection', async () => { const end = vi.fn(() => Promise.resolve()) const queries: Array<{ sql: string; params?: unknown[] }> = [] @@ -92,6 +110,9 @@ describe('introspect happy path', () => { query(sql: string, params?: unknown[]) { queries.push({ sql, params }) // The unmodelled query is the parameterised one. + if (sql.includes('to_regnamespace')) { + return Promise.resolve({ rows: [{ version: '3.0.2' }] }) + } return Promise.resolve({ rows: params ? [ @@ -116,9 +137,9 @@ describe('introspect happy path', () => { }) const { introspect } = await import('../src/introspect') - const { tables, unmodelled } = await introspect('postgres://ok') + const { tables, unmodelled, eqlVersion } = await introspect('postgres://ok') - expect(queries).toHaveLength(2) + expect(queries).toHaveLength(3) // The registry IS the query parameter — it must be pushed into Postgres, // not re-derived client-side. const parameterised = queries.find((q) => q.params)! @@ -136,6 +157,7 @@ describe('introspect happy path', () => { expect(unmodelled.get('users')).toEqual([ { columnName: 'legacy', domainName: 'unsupported_domain' }, ]) + expect(eqlVersion).toBe('3.0.2') // A leaked connection is invisible to every other assertion here. expect(end).toHaveBeenCalledTimes(1) diff --git a/packages/stack-supabase/__tests__/supabase-schema-builder.test.ts b/packages/stack-supabase/__tests__/supabase-schema-builder.test.ts index 006588bc8..caa0192b6 100644 --- a/packages/stack-supabase/__tests__/supabase-schema-builder.test.ts +++ b/packages/stack-supabase/__tests__/supabase-schema-builder.test.ts @@ -213,7 +213,7 @@ describe('groupUnmodelledRows', () => { { table_name: 'audit', column_name: 'payload', - domain_name: 'eql_v3_json', + domain_name: 'eql_v3_json_search', }, { table_name: 'metrics', @@ -230,7 +230,10 @@ describe('groupUnmodelledRows', () => { { columnName: 'bucket', domainName: 'eql_v3_text_ord_ope' }, ], ], - ['audit', [{ columnName: 'payload', domainName: 'eql_v3_json' }]], + [ + 'audit', + [{ columnName: 'payload', domainName: 'eql_v3_json_search' }], + ], ]), ) }) diff --git a/packages/stack-supabase/__tests__/supabase-v3-builder.test.ts b/packages/stack-supabase/__tests__/supabase-v3-builder.test.ts index 6ae8b4f31..b510a9baa 100644 --- a/packages/stack-supabase/__tests__/supabase-v3-builder.test.ts +++ b/packages/stack-supabase/__tests__/supabase-v3-builder.test.ts @@ -224,7 +224,7 @@ describe('encryptedSupabaseV3 wire encoding', () => { expect(filterCalls).toHaveLength(1) expect(filterCalls[0].args[0]).toBe('email') expect(filterCalls[0].args[1]).toBe('cs') - // Full storage envelope: eql_v3.contains coerces the operand to the storage + // Full storage envelope: eql_v3.matches coerces the operand to the storage // domain, whose CHECK requires `c`. expect(JSON.parse(filterCalls[0].args[2] as string).c).toBeDefined() // postgrest-js's native contains() would re-serialize the operand. diff --git a/packages/stack-supabase/__tests__/supabase-v3-factory.test.ts b/packages/stack-supabase/__tests__/supabase-v3-factory.test.ts index 66fceb524..622af6227 100644 --- a/packages/stack-supabase/__tests__/supabase-v3-factory.test.ts +++ b/packages/stack-supabase/__tests__/supabase-v3-factory.test.ts @@ -36,6 +36,7 @@ function introspectionOf(data: Partial): IntrospectionData { return { tables: data.tables ?? [], unmodelled: data.unmodelled ?? new Map(), + eqlVersion: data.eqlVersion ?? null, } } @@ -153,6 +154,22 @@ describe('encryptedSupabaseV3 factory', () => { expect(supabase.from('users')).toBeInstanceOf(EncryptedQueryBuilderV3Impl) }) + it('threads the EQL 3.0.2 query-domain limitation into builders', async () => { + introspectMock.mockResolvedValueOnce( + introspectionOf({ + ...usersIntrospection, + eqlVersion: '3.0.2', + }), + ) + const supabase = await encryptedSupabaseV3(fakeClient, { + databaseUrl: 'postgres://x', + }) + + expect(() => supabase.from('users').matches('email', 'alice')).toThrow( + /EQL 3\.0\.2\+/, + ) + }) + it('throws when a schemas record key ≠ its table name', async () => { const mislabelled = encryptedTable('users', { email: types.TextSearch('email'), diff --git a/packages/stack-supabase/__tests__/supabase-v3-json.test.ts b/packages/stack-supabase/__tests__/supabase-v3-json.test.ts index d0122ada0..355f1c793 100644 --- a/packages/stack-supabase/__tests__/supabase-v3-json.test.ts +++ b/packages/stack-supabase/__tests__/supabase-v3-json.test.ts @@ -25,7 +25,7 @@ const events = encryptedTable('events', { const EVENTS_ALL_COLUMNS = ['id', 'payload', 'name', 'note'] -function makeBuilder(resultData: unknown = []) { +function makeBuilder(resultData: unknown = [], queryDomainsRequired = false) { const supabase = createMockSupabase(resultData) const encryptionClient = createMockEncryptionClient() const builder = new EncryptedQueryBuilderV3Impl( @@ -34,10 +34,30 @@ function makeBuilder(resultData: unknown = []) { encryptionClient as never, supabase.client as never, EVENTS_ALL_COLUMNS, + queryDomainsRequired, ) return { supabase, builder } } +describe('EQL 3.0.2 PostgREST boundary', () => { + it('rejects encrypted operators whose typed query-domain cast is unreachable', () => { + const { builder } = makeBuilder([], true) + + expect(() => builder.matches('name', 'alice')).toThrow( + /EQL 3\.0\.2\+.*query_\* cast.*PostgREST/s, + ) + expect(() => builder.contains('payload', { role: 'admin' })).toThrow( + /EQL 3\.0\.2\+/, + ) + expect(() => builder.selectorEq('payload', '$.role', 'admin')).toThrow( + /EQL 3\.0\.2\+/, + ) + expect(() => builder.selectorNe('payload', '$.role', 'admin')).toThrow( + /EQL 3\.0\.2\+/, + ) + }) +}) + /** The recorded wire call for a column's containment filter, parsed. */ function containsCall( supabase: ReturnType, diff --git a/packages/stack-supabase/__tests__/supabase-v3-matrix.test.ts b/packages/stack-supabase/__tests__/supabase-v3-matrix.test.ts index f6cf4e977..b4306a094 100644 --- a/packages/stack-supabase/__tests__/supabase-v3-matrix.test.ts +++ b/packages/stack-supabase/__tests__/supabase-v3-matrix.test.ts @@ -118,7 +118,7 @@ describe('supabase v3 wire encoding, every domain', () => { expect(equalityDomains).toHaveLength(28) expect(orderDomains).toHaveLength(19) expect(matchDomains).toHaveLength(2) - // +1: `eql_v3_json` carries only an `ste_vec` index, so from this scalar + // +1: `eql_v3_json_search` carries only an `ste_vec` index, so from this scalar // tiering it reads as storage-only — the Supabase adapter has no JSON // containment path (PostgREST can't cast/call), so it rejects scalar ops. expect(storageOnlyDomains).toHaveLength(11) diff --git a/packages/stack-supabase/integration/introspect.integration.test.ts b/packages/stack-supabase/integration/introspect.integration.test.ts index b5b81b3ff..e0013de73 100644 --- a/packages/stack-supabase/integration/introspect.integration.test.ts +++ b/packages/stack-supabase/integration/introspect.integration.test.ts @@ -31,7 +31,7 @@ beforeAll(async () => { // This table exercises all three cases the introspector must tell apart: // score → EQL domain (eql_v3_integer_ord_ope) the SDK has no factory for // → "unmodelled", MUST be reported so the caller knows it can't query it - // doc → EQL domain (eql_v3_json) the SDK models via types.Json + // doc → EQL domain (eql_v3_json_search) the SDK models via types.Json // → modelled, MUST be synthesized and NOT reported // own → a user's own plain jsonb domain with no EQL marker // → plaintext passthrough, MUST never be reported @@ -39,7 +39,7 @@ beforeAll(async () => { CREATE TABLE ${UNMODELLED} ( id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY, score public.eql_v3_integer_ord_ope NOT NULL, - doc public.eql_v3_json, + doc public.eql_v3_json_search, own public.${USER_DOMAIN} ) `) @@ -100,10 +100,10 @@ describe('eql_v3 supabase introspection', () => { // Sanity, keyed exactly as the registry keys and the introspection query do // (the full `eql_v3_*` domain name): `eql_v3_integer_ord_ope` has no types - // factory (unmodelled → reported), whereas `eql_v3_json` now HAS one + // factory (unmodelled → reported), whereas `eql_v3_json_search` now HAS one // (`types.Json` → modelled → NOT reported). expect(factoryForDomain('eql_v3_integer_ord_ope')).toBeUndefined() - expect(factoryForDomain('eql_v3_json')).toBeDefined() + expect(factoryForDomain('eql_v3_json_search')).toBeDefined() const offenders = unmodelled.get(UNMODELLED) expect(offenders).toBeDefined() diff --git a/packages/stack-supabase/integration/json.integration.test.ts b/packages/stack-supabase/integration/json.integration.test.ts index 1c502b488..08803569c 100644 --- a/packages/stack-supabase/integration/json.integration.test.ts +++ b/packages/stack-supabase/integration/json.integration.test.ts @@ -1,19 +1,10 @@ /** - * Live encrypted-JSON querying for the v3 supabase adapter (#650): real crypto, - * real PostgREST (as `anon`), real `public.eql_v3_json` domain. + * Live EQL 3.0.2 boundary for encrypted JSON through PostgREST. * - * What this uniquely proves (the unit suite runs against mocks): - * - `contains()` reaches the `eql_v3."@>"(eql_v3_json, eql_v3_json)` overload - * through PostgREST's column-type cast of the `cs.` operand, with a real - * storage-encrypted needle (probe-verified wire form; see #650). - * - `selectorEq`/`selectorNe` — equality-at-a-path compiled to containment of - * the reconstructed needle — return the right ROWS, including the documented - * `ne` semantics: rows whose document lacks the path entirely are INCLUDED. - * - The `anon` grants cover the ste_vec functions the operator expands to. - * - * Selector ORDERING is deliberately absent: not expressible over PostgREST - * until cipherstash/encrypt-query-language#407 lands. Drizzle's - * `json-selector.integration.test.ts` proves ordering semantics. + * Storage/decryption remains supported. Querying does not: containment and + * selector equality require an `eql_v3.query_json` cast PostgREST cannot emit. + * The adapter must fail before encrypting a storage-shaped operand into a GET + * URL, while plaintext filters continue to work. */ import type { JsonDocument } from '@cipherstash/stack/eql/v3' @@ -26,54 +17,25 @@ import { makePostgrestClient, reloadSchemaCache } from './helpers/pgrest' const TABLE = 'protect_ci_v3_supabase_json' const RUN = `run-${Date.now()}-${Math.random().toString(36).slice(2, 8)}` - const sql = postgres(databaseUrl(), { prepare: false }) const docs = encryptedTable(TABLE, { payload: types.Json('payload'), }) -const DOCS: Record = { - ada: { user: { email: 'ada@example.com', role: 'admin' }, age: 30 }, - grace: { user: { email: 'grace@example.com', role: 'admin' }, age: 20 }, - zoe: { user: { email: 'zoe@example.com', role: 'analyst' }, age: 40 }, - // No `$.age` and no `$.user.role` — exercises absent-path semantics - // (excluded by contains/selectorEq, INCLUDED by selectorNe). - norole: { user: { email: 'norole@example.com' } }, - // ARRAY-VALUED path: pins the OBSERVED ste_vec semantics — a scalar-leaf - // needle does NOT match an array at the path (protect-ffi encodes array - // elements under their own selectors, not the parent path's), so selectorEq - // treats an array leaf as not-equal and selectorNe includes it. The docs - // carry this caveat; this fixture keeps it honest against the real FFI+EQL. - multi: { user: { email: 'multi@example.com', role: ['admin', 'analyst'] } }, +const PAYLOAD: JsonDocument = { + user: { email: 'ada@example.com', role: 'admin' }, + age: 30, } -/** A row whose payload COLUMN is SQL NULL — the maximally-absent document. - * selectorNe must include it (the `is.null` arm of its or-compilation). */ -const NULL_ROW_KEY = 'nulldoc' - type Instance = Awaited> -let instance: Instance - -// `payload` is nullable: the suite seeds a SQL-NULL document row (the -// selectorNe is.null arm), so the type must not promise non-null. type Row = { row_key: string payload: JsonDocument | null test_run_id: string } -function from() { - return instance.from(TABLE).select('row_key').eq('test_run_id', RUN) -} - -async function rowKeys( - q: PromiseLike<{ data: unknown; error: { message: string } | null }>, -): Promise { - const { data, error } = await q - if (error) throw new Error(error.message) - return ((data as { row_key: string }[]) ?? []).map((r) => r.row_key).sort() -} +let instance: Instance beforeAll(async () => { await sql.unsafe(` @@ -81,7 +43,7 @@ beforeAll(async () => { id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY, row_key text NOT NULL, test_run_id text NOT NULL, - payload public.eql_v3_json + payload public.eql_v3_json_search ) `) await sql.unsafe( @@ -94,19 +56,12 @@ beforeAll(async () => { databaseUrl: databaseUrl(), }) - const models = Object.entries(DOCS).map(([rowKey, payload]) => ({ - row_key: rowKey, + const { error } = await instance.from(TABLE).insert({ + row_key: 'ada', test_run_id: RUN, - payload, - })) - const { error } = await instance.from(TABLE).insert(models) + payload: PAYLOAD, + }) if (error) throw new Error(`seed insert: ${error.message}`) - - // NULL-payload row: inserted directly (the adapter's insert path encrypts - // model values; a SQL NULL column needs no encryption). - await sql.unsafe( - `INSERT INTO public.${TABLE} (row_key, test_run_id, payload) VALUES ('${NULL_ROW_KEY}', '${RUN}', NULL)`, - ) }, 120_000) afterAll(async () => { @@ -114,123 +69,41 @@ afterAll(async () => { await sql.end() }) -describe('decrypt round-trip (the read path)', () => { - it('a filtered row decrypts back to the original document', async () => { +describe('encrypted JSON storage', () => { + it('round-trips through a supported plaintext filter', async () => { const { data, error } = await instance .from(TABLE) .select('row_key, payload') .eq('test_run_id', RUN) - .selectorEq('payload', '$.user.role', 'analyst') - if (error) throw new Error(error.message) - expect(data).toHaveLength(1) - expect(data?.[0].payload).toEqual(DOCS.zoe) - }) -}) - -describe('encrypted containment (contains)', () => { - it('matches rows containing a nested sub-document', async () => { - expect( - await rowKeys(from().contains('payload', { user: { role: 'admin' } })), - ).toEqual(['ada', 'grace']) - }) - - it('not(col, "contains", …) is the bare negated containment (excludes the NULL row)', async () => { - expect( - await rowKeys(from().not('payload', 'contains', { age: 30 })), - ).toEqual(['grace', 'multi', 'norole', 'zoe']) - }) - - it('a multi-leaf needle requires EVERY leaf to match', async () => { - expect( - await rowKeys( - from().contains('payload', { - user: { role: 'admin' }, - age: 30, - }), - ), - ).toEqual(['ada']) - }) - it('matches nothing for an absent value', async () => { - expect(await rowKeys(from().contains('payload', { age: 99 }))).toEqual([]) - }) - - it('raw .filter(col, "cs", subdoc) is the same query', async () => { - expect(await rowKeys(from().filter('payload', 'cs', { age: 40 }))).toEqual([ - 'zoe', - ]) + expect(error).toBeNull() + expect(data).toEqual([{ row_key: 'ada', payload: PAYLOAD }]) }) }) -describe('selector equality (selectorEq)', () => { - it('matches the row carrying the value at the path', async () => { - expect(await rowKeys(from().selectorEq('payload', '$.age', 30))).toEqual([ - 'ada', - ]) - }) - - it('works on nested paths and string leaves', async () => { - expect( - await rowKeys(from().selectorEq('payload', '$.user.role', 'analyst')), - ).toEqual(['zoe']) - }) +describe('EQL 3.0.2 PostgREST query-domain boundary', () => { + it('fails encrypted JSON operators before building a request', () => { + const from = () => + instance.from(TABLE).select('row_key').eq('test_run_id', RUN) - it('ARRAY-LEAF: a scalar needle does NOT match an array at the path', async () => { - // multi.user.role = ['admin','analyst'] is NOT matched by the scalar - // needle 'admin' — array elements are encoded under their own selectors. - expect( - await rowKeys(from().selectorEq('payload', '$.user.role', 'admin')), - ).toEqual(['ada', 'grace']) - }) - - it('ARRAY-LEAF: the full array as a contains() needle matches the row', async () => { - expect( - await rowKeys( - from().contains('payload', { user: { role: ['admin', 'analyst'] } }), - ), - ).toEqual(['multi']) - }) - - it('an absent path matches nothing', async () => { - expect( - await rowKeys(from().selectorEq('payload', '$.user.missing', 'x')), - ).toEqual([]) - }) -}) - -describe('selector inequality (selectorNe)', () => { - it('includes different-value rows, absent-path rows, AND SQL-NULL documents', async () => { - // Drizzle-parity semantics: NOT-contains OR IS NULL. `norole` lacks the - // path; `nulldoc` lacks the whole document (the case a bare not.cs drops - // under three-valued logic); `multi` is included because its role ARRAY is - // not-equal to the scalar needle (the array-leaf caveat). - expect( - await rowKeys(from().selectorNe('payload', '$.user.role', 'admin')), - ).toEqual(['multi', 'norole', NULL_ROW_KEY, 'zoe']) - }) - - it('ne against an absent-everywhere value returns every row', async () => { - expect(await rowKeys(from().selectorNe('payload', '$.age', 99))).toEqual([ - 'ada', - 'grace', - 'multi', - 'norole', - NULL_ROW_KEY, - 'zoe', - ]) - }) -}) - -describe('guards hold on the live surface', () => { - it('matches() on the JSON column throws the steer', () => { - expect(() => from().matches('payload', 'admin')).toThrow( - /encrypted JSON column/, + expect(() => from().contains('payload', { age: 30 })).toThrow( + /EQL 3\.0\.2\+.*query_\* cast.*PostgREST/s, + ) + expect(() => from().selectorEq('payload', '$.age', 30)).toThrow( + /EQL 3\.0\.2\+/, + ) + expect(() => from().selectorNe('payload', '$.age', 30)).toThrow( + /EQL 3\.0\.2\+/, ) }) - it('scalar ops on the JSON column are rejected by capability', async () => { - const { error, status } = await from().filter('payload', 'eq', { a: 1 }) + it('also blocks raw cs filters before sending a storage envelope', async () => { + const { error, status } = await instance + .from(TABLE) + .select('row_key') + .filter('payload', 'cs', { age: 30 }) + expect(status).toBe(500) - expect(error?.message).toMatch(/does not support equality/) + expect(error?.message).toMatch(/EQL 3\.0\.2\+.*PostgREST/s) }) }) diff --git a/packages/stack-supabase/integration/wire.integration.test.ts b/packages/stack-supabase/integration/wire.integration.test.ts index dd7b92bee..446cc12a2 100644 --- a/packages/stack-supabase/integration/wire.integration.test.ts +++ b/packages/stack-supabase/integration/wire.integration.test.ts @@ -329,84 +329,15 @@ describe('supabase v3 adapter over real PostgREST (wire + grants)', () => { expect(data.map((r: { row_key: string }) => r.row_key)).toEqual(['ada']) }) - // `cs` → `@>` on the encrypted domain. This is the load-bearing assertion of - // the whole suite: the bundle declares - // CREATE OPERATOR @> (FUNCTION = eql_v3.contains, LEFTARG = public.eql_v3_text_search, - // RIGHTARG = jsonb) - // whose body is `match_term(a) @> match_term(b::public.eql_v3_text_search)` — a - // smallint[] containment of the two BLOOM FILTERS. It is NOT the built-in - // `jsonb @> jsonb`, which would compare whole envelopes and so could only ever - // match on an identical ciphertext. - // - // The four tests below discriminate: substrings that share no `c` with the - // stored row match, and a trigram present in no row does not. Only bloom - // containment explains both. - it('resolves matches() through cs containment for an exact value', async () => { - const { data, error } = await from() - .select('row_key') - .matches('email', 'ada@example.com') - - expect(error).toBeNull() - expect(data.map((r: { row_key: string }) => r.row_key)).toEqual(['ada']) - }) - - // The needle blooms to its own trigrams — `exa,xam,amp,mpl,ple` — every one of - // which is a trigram of `ada@example.com`, so containment holds. This once - // asserted the opposite, on the strength of an `include_original` token that - // protect-ffi never emits; `bloomTokens` above no longer invents one. - it('matches a longer substring through bloom containment', async () => { - const { data, error } = await from() - .select('row_key') - .matches('email', 'example') - - expect(error).toBeNull() - expect(data.map((r: { row_key: string }) => r.row_key)).toEqual(['ada']) - }) - - it('matches a substring exactly one trigram long', async () => { - const { data, error } = await from() - .select('row_key') - .matches('email', 'ada') - - expect(error).toBeNull() - expect(data.map((r: { row_key: string }) => r.row_key)).toEqual(['ada']) - }) - - // The discriminator. Every assertion above is satisfied by a `contains` that - // matches EVERYTHING — an empty needle bloom, a broken `@>`, a fail-open. A - // trigram held by no stored row must come back empty. (`drizzle-v3`'s live - // suite pins the same guarantee against real ffi with `'qqqzzz'`.) - it('does not match a trigram absent from every stored value', async () => { - const { data, error } = await from() - .select('row_key') - .matches('email', 'zzz') - - expect(error).toBeNull() - expect(data).toEqual([]) - }) - - // `like`/`ilike` on an encrypted column are a compatibility shim: they delegate - // to `matches` (fuzzy bloom token search), NOT SQL `~~` (undefined on - // public.eql_v3_text_search — 42883). Surrounding `%` are stripped, so - // `like('email', '%ada%')` searches the term `ada` and returns the same row as - // `matches('email', 'ada')`. - it('delegates like() on an encrypted column to matches (fuzzy)', async () => { - const { data, error } = await from() - .select('row_key') - .like('email', '%ada%') - - expect(error).toBeNull() - expect(data.map((r: { row_key: string }) => r.row_key)).toEqual(['ada']) - }) - - // A pattern fuzzy matching cannot approximate (internal `%` / any `_`) is - // refused client-side before the round-trip. - it('rejects an unapproximable like() pattern on an encrypted column', () => { - expect(() => from().select('row_key').like('email', 'a%b')).toThrow( - /cannot honor/, + // EQL 3.0.2 moved encrypted matching to `@@` with a typed query-domain RHS. + // PostgREST cannot express that cast, so the adapter must fail before it + // encrypts a storage envelope into the request URL. + it('fails encrypted free-text filters at the PostgREST boundary', () => { + expect(() => from().select('row_key').matches('email', 'ada')).toThrow( + /EQL 3\.0\.2\+.*query_\* cast.*PostgREST/s, ) - expect(() => from().select('row_key').ilike('email', 'f_o')).toThrow( - /cannot honor/, + expect(() => from().select('row_key').like('email', '%ada%')).toThrow( + /EQL 3\.0\.2\+/, ) }) diff --git a/packages/stack-supabase/package.json b/packages/stack-supabase/package.json index bd55a43e0..4e4b09892 100644 --- a/packages/stack-supabase/package.json +++ b/packages/stack-supabase/package.json @@ -69,7 +69,7 @@ } }, "devDependencies": { - "@cipherstash/protect-ffi": "0.29.0", + "@cipherstash/protect-ffi": "0.30.0", "@cipherstash/test-kit": "workspace:*", "fta-cli": "3.0.0", "@supabase/postgrest-js": "2.110.2", diff --git a/packages/stack-supabase/src/index.ts b/packages/stack-supabase/src/index.ts index 6b3af298c..ec9847261 100644 --- a/packages/stack-supabase/src/index.ts +++ b/packages/stack-supabase/src/index.ts @@ -4,7 +4,7 @@ import type { EncryptedTableColumn, } from '@cipherstash/stack/schema' import type { UnmodelledColumn } from './introspect' -import { introspect } from './introspect' +import { eqlRequiresQueryDomains, introspect } from './introspect' import { EncryptedQueryBuilderImpl } from './query-builder' import { EncryptedQueryBuilderV3Impl } from './query-builder-v3' import { mergeDeclaredTables, synthesizeTables } from './schema-builder' @@ -83,7 +83,7 @@ export function encryptedSupabase( * * Keyed by table, not applied to the whole schema, because the hazard exists * only for a table the caller actually queries. An `audit_log.payload - * public.eql_v3_json` column on a table you never name cannot leak, and must not stop + * public.eql_v3_json_search` column on a table you never name cannot leak, and must not stop * you constructing a client for `users`. */ function assertTableIsModelled( @@ -204,7 +204,8 @@ export async function encryptedSupabaseV3( // 3. Introspect. Unmodelled EQL columns are NOT a construction-time veto — // they are checked per table, at the point the caller names one. - const { tables, unmodelled } = await introspect(databaseUrl) + const { tables, unmodelled, eqlVersion } = await introspect(databaseUrl) + const queryDomainsRequired = eqlRequiresQueryDomains(eqlVersion) // 4. Synthesize; if declared, guard record keys, verify, then merge. // A DECLARED table is one the caller named, so it is validated eagerly, @@ -278,6 +279,7 @@ export async function encryptedSupabaseV3( encryptionClient, supabaseClient, allColumns, + queryDomainsRequired, ) as unknown as EncryptedQueryBuilder> }, } diff --git a/packages/stack-supabase/src/introspect.ts b/packages/stack-supabase/src/introspect.ts index 9c126d6ab..18501468c 100644 --- a/packages/stack-supabase/src/introspect.ts +++ b/packages/stack-supabase/src/introspect.ts @@ -43,6 +43,8 @@ export interface UnmodelledColumn { export interface IntrospectionData { tables: IntrospectionResult unmodelled: Map + /** Installed EQL version from the `eql_v3` schema comment, when available. */ + eqlVersion?: string | null } /** Raw row of {@link UNMODELLED_COLUMNS_QUERY}. */ @@ -139,6 +141,28 @@ const UNMODELLED_COLUMNS_QUERY = ` ORDER BY c.table_name, c.ordinal_position ` +const EQL_VERSION_QUERY = ` + SELECT obj_description(to_regnamespace('eql_v3'), 'pg_namespace') AS version +` + +interface EqlVersionRow { + version: string | null +} + +/** EQL 3.0.2+ requires typed query-domain operands for match/JSON operators. */ +export function eqlRequiresQueryDomains(version: string | null | undefined) { + const match = version?.match(/^(\d+)\.(\d+)\.(\d+)/) + // Unknown/missing version metadata must fail closed: assuming the legacy + // storage-envelope route could put decryptable ciphertext in a GET URL. + if (!match) return true + const major = Number(match[1]) + const minor = Number(match[2]) + const patch = Number(match[3]) + return ( + major > 3 || (major === 3 && (minor > 0 || (minor === 0 && patch >= 2))) + ) +} + /** `pg` ships its API on the CJS default export, not the module namespace. */ type PgDefaultExport = typeof import('pg')['default'] @@ -195,15 +219,17 @@ export async function introspect( }) await client.connect() try { - const [columns, unmodelled] = await Promise.all([ + const [columns, unmodelled, eqlVersion] = await Promise.all([ client.query(COLUMNS_QUERY), client.query(UNMODELLED_COLUMNS_QUERY, [ Object.keys(DOMAIN_REGISTRY), ]), + client.query(EQL_VERSION_QUERY), ]) return { tables: groupIntrospectionRows(columns.rows), unmodelled: groupUnmodelledRows(unmodelled.rows), + eqlVersion: eqlVersion.rows[0]?.version ?? null, } } finally { // `end()` runs only after a successful connect; swallow its own failure so it diff --git a/packages/stack-supabase/src/query-builder-v3.ts b/packages/stack-supabase/src/query-builder-v3.ts index 1b9b100d4..8ed602e8d 100644 --- a/packages/stack-supabase/src/query-builder-v3.ts +++ b/packages/stack-supabase/src/query-builder-v3.ts @@ -54,7 +54,7 @@ type V3ColumnLike = { equality: boolean orderAndRange: boolean freeTextSearch: boolean - /** Optional: only `public.eql_v3_json` (`types.Json`) carries it. */ + /** Optional: only `public.eql_v3_json_search` (`types.Json`) carries it. */ searchableJson?: boolean } build(): ColumnSchema @@ -149,8 +149,8 @@ function assertNoPropertyDbNameCollision( * - **Mutation encoding** — the raw encrypted payload object is sent (the * `public.*` domains are `DOMAIN … AS jsonb`), not v2's `{ data: … }` * composite wrap. - * - **Query-term encoding** — every filter operand is the FULL storage - * envelope from `encrypt()`, serialized as jsonb text. + * - **Query-term encoding** — scalar equality/range filters use the FULL + * storage envelope from `encrypt()`, serialized as jsonb text. * * NOT because narrowed terms fail the domain CHECK: the bundle defines a * `public._query` companion for each storage domain, whose CHECK @@ -161,16 +161,21 @@ function assertNoPropertyDbNameCollision( * the bundle says so itself, see `cipherstash-encrypt-v3.sql`, the * `_query_types.sql` note). The reachable overload is the `jsonb` one, whose * body coerces its operand to the STORAGE domain, which does require `c`. - * (protect-ffi 0.29 can mint narrowed `eql_v3.query_` operands via + * (protect-ffi can mint narrowed `eql_v3.query_` operands via * `encryptQuery`, but with no way to cast a PostgREST filter value they * stay unreachable from this adapter.) * - * The full envelope satisfies the storage-domain CHECK by construction, and - * the operators extract the term they need (`eq_term`/`ord_term`/ - * `match_term`). - * - **`matches`, not `like`/`ilike`/`contains`** — encrypted free-text search is + * The full envelope satisfies scalar storage-domain CHECKs by construction, + * and equality/range operators extract the term they need. + * + * EQL 3.0.2 removed the storage/jsonb escape hatch for free-text and JSON + * operators: those now require typed query-domain operands. The factory reads + * the installed EQL version and this builder fails those operators before + * encryption, so a decryptable storage envelope never enters a GET URL. + * - **Legacy `matches`, not `like`/`ilike`/`contains`** — on pre-3.0.2 EQL, + * encrypted free-text search is * FUZZY BLOOM TOKEN MATCHING, not containment: the bundle declares `@>` on each - * match domain (`CREATE OPERATOR @> … FUNCTION = eql_v3.contains`, the SQL + * match domain (`CREATE OPERATOR @> … FUNCTION = eql_v3.matches`, the SQL * function's name), whose body is `match_term(a) @> match_term(b)` — `smallint[]` * containment of the two bloom filters. It is order- and multiplicity- * insensitive and one-sided (a `true` may be a false positive). PostgREST @@ -206,6 +211,8 @@ export class EncryptedQueryBuilderV3Impl< private columnSchemas: Record /** Column builders keyed by BOTH property name and DB name. */ private v3Columns: Record + /** EQL 3.0.2+ requires query-domain casts PostgREST cannot express. */ + private queryDomainsRequired: boolean constructor( tableName: string, @@ -213,6 +220,7 @@ export class EncryptedQueryBuilderV3Impl< encryptionClient: EncryptionClient, supabaseClient: SupabaseClientLike, allColumns: string[] | null = null, + queryDomainsRequired = false, ) { super( tableName, @@ -226,6 +234,7 @@ export class EncryptedQueryBuilderV3Impl< ) this.v3Table = table + this.queryDomainsRequired = queryDomainsRequired this.propToDb = table.buildColumnKeyMap() this.columnSchemas = table.build().columns @@ -371,7 +380,7 @@ export class EncryptedQueryBuilderV3Impl< /** * Resolve a raw `.filter()` operator to the capability it exercises. Unlike - * v2, the v3 operand is always the full storage envelope, so `queryType` + * v2, a supported v3 operand is a full storage envelope, so `queryType` * never selects a narrowing — it only tells {@link encryptCollectedTerms} * which capability to demand of the column. Getting it wrong therefore * produces a wrong accept/reject, not a wrong ciphertext: the base class's @@ -446,9 +455,9 @@ export class EncryptedQueryBuilderV3Impl< /** * Validate a term's query type against its column's declared capabilities. - * Pure validation: `encrypt`/`bulkEncrypt` never receive the query type — the - * v3 filter operand is a full storage envelope (see the class doc for why - * `encryptQuery` terms cannot be used). + * Pure validation: `encrypt`/`bulkEncrypt` never receive the query type. On + * EQL 3.0.2+, free-text/JSON terms are rejected before this storage-encryption + * path can place ciphertext in a GET URL. */ private assertTermQueryable(term: ScalarQueryTerm): V3ColumnLike { const column = term.column as unknown as V3ColumnLike @@ -668,6 +677,16 @@ export class EncryptedQueryBuilderV3Impl< return Boolean(builder?.getQueryCapabilities().searchableJson) } + private assertPostgrestCanQueryEncryptedOperator( + method: string, + column: string, + ): void { + if (!this.queryDomainsRequired) return + throw new Error( + `[supabase v3]: ${method}() on encrypted column "${column}" is unavailable with EQL 3.0.2+: the SQL operator requires an eql_v3.query_* cast that PostgREST cannot express. Use the Drizzle or Prisma Next adapter, or a scoped SQL/RPC function.`, + ) + } + /** * `contains` on the v3 surface is EXACT containment: native jsonb/array `@>` * on a plaintext column, ENCRYPTED ste_vec `@>` on a `types.Json` column (the @@ -678,6 +697,7 @@ export class EncryptedQueryBuilderV3Impl< */ override contains(column: string, value: unknown): this { if (this.isSearchableJsonColumn(column)) { + this.assertPostgrestCanQueryEncryptedOperator('contains', column) // Same validator the term resolver enforces — failing here just surfaces // the error at the call site instead of at execution. assertJsonContainmentOperand(column, value) @@ -712,6 +732,7 @@ export class EncryptedQueryBuilderV3Impl< `[supabase v3]: matches() is encrypted free-text search and requires an encrypted column; "${column}" is not one. Use contains() for native containment.`, ) } + this.assertPostgrestCanQueryEncryptedOperator('matches', column) return super.matches(column, value) } @@ -810,6 +831,7 @@ export class EncryptedQueryBuilderV3Impl< * `ops.selector()` supports it today. */ selectorEq(column: string, path: string, value: unknown): this { + this.assertPostgrestCanQueryEncryptedOperator('selectorEq', column) const needle = this.selectorNeedle('selectorEq', column, path, value) return super.contains(column, needle) } @@ -825,6 +847,7 @@ export class EncryptedQueryBuilderV3Impl< * operand is encrypted through the normal or-condition term path. */ selectorNe(column: string, path: string, value: unknown): this { + this.assertPostgrestCanQueryEncryptedOperator('selectorNe', column) const needle = this.selectorNeedle('selectorNe', column, path, value) return super.or([ { column, op: 'is', value: null }, @@ -877,7 +900,7 @@ export class EncryptedQueryBuilderV3Impl< /** * Encrypted `matches` goes through the bloom-filter `@>`, which the bundle * declares on the domain as PostgREST's `cs`. The operand is the full storage - * envelope; `eql_v3.contains` (the SQL function) extracts the `bf` array from + * envelope; `eql_v3.matches` (the SQL function) extracts the `bf` array from * both sides. * * Emitted via `filter(col, 'cs', json)` rather than `q.contains(col, json)`: @@ -892,6 +915,7 @@ export class EncryptedQueryBuilderV3Impl< wasEncrypted: boolean, ): SupabaseQueryBuilder { if (wasEncrypted) { + this.assertPostgrestCanQueryEncryptedOperator('filter', column) return q.filter(column, 'cs', value) } return super.applyContainsFilter(q, column, value, wasEncrypted) diff --git a/packages/stack-supabase/src/query-builder.ts b/packages/stack-supabase/src/query-builder.ts index 1914a3df4..555df6276 100644 --- a/packages/stack-supabase/src/query-builder.ts +++ b/packages/stack-supabase/src/query-builder.ts @@ -1338,7 +1338,7 @@ export class EncryptedQueryBuilderImpl< * Apply a `contains` filter. On a plaintext column this is PostgREST's native * jsonb/array containment. The v3 dialect overrides it for encrypted columns, * where `cs` resolves to the `@>` operator the EQL bundle declares on the - * domain, backed by `eql_v3.contains` (bloom-filter containment). + * domain, backed by `eql_v3.matches` (bloom-filter containment). * * A structured operand is serialized here rather than by postgrest-js, which * joins array elements on `,` without quoting them — so `['with,comma']` would diff --git a/packages/stack-supabase/src/types.ts b/packages/stack-supabase/src/types.ts index d8af397a2..0ea50ca9d 100644 --- a/packages/stack-supabase/src/types.ts +++ b/packages/stack-supabase/src/types.ts @@ -176,7 +176,7 @@ export type V3EncryptedFreeTextKeys< /** * JS property names of a v3 table's columns that carry NO `searchableJson` - * capability — i.e. every domain but `public.eql_v3_json`. Mirror of + * capability — i.e. every domain but `public.eql_v3_json_search`. Mirror of * {@link NonFreeTextSearchV3Keys} for the encrypted-JSON capability. */ type NonSearchableJsonV3Keys = { @@ -191,7 +191,7 @@ type NonSearchableJsonV3Keys
= { /** * Row keys the encrypted-JSON query methods accept (`contains()` on an * encrypted column, `selectorEq()`, `selectorNe()`): ONLY the table's ENCRYPTED - * columns whose domain is `public.eql_v3_json` (`types.Json`). Plaintext + * columns whose domain is `public.eql_v3_json_search` (`types.Json`). Plaintext * columns are excluded — on those, `contains()` is PostgREST-native containment * and the selector methods do not apply. Mirror of * {@link V3EncryptedFreeTextKeys} for the `searchableJson` capability. @@ -336,9 +336,8 @@ export interface EncryptedQueryBuilderV3< // still admits none. V3PlaintextKeys & StringKeyOf > { - /** Encrypted free-text token match. Encrypted match/search columns only — - * plaintext columns are a compile error (use {@link contains}). The operand is - * the string to tokenize into a bloom-filter query term. */ + /** Encrypted free-text token match on legacy EQL versions. EQL 3.0.2+ + * requires a query-domain cast PostgREST cannot express, so this fails fast. */ matches & StringKeyOf>( column: K, value: string, @@ -350,47 +349,28 @@ export interface EncryptedQueryBuilderV3< column: K, value: PlaintextContainsValue, ): EncryptedQueryBuilderV3 - /** ENCRYPTED (exact) JSON containment on a `types.Json` column: the - * sub-document operand is storage-encrypted against the column and compared - * via the encrypted ste_vec `@>`. Every leaf of the operand must match at its - * path. Note the operand's ciphertext appears in the request's filter string - * (the same tradeoff as every v3 filter operand — see the class doc). */ + /** Encrypted JSON containment on legacy EQL versions. EQL 3.0.2+ requires an + * `eql_v3.query_json` cast PostgREST cannot express, so this fails fast before + * encrypting an operand into the request URL. */ contains & StringKeyOf>( column: K, value: EncryptedJsonContainsValue, ): EncryptedQueryBuilderV3 - /** Encrypted JSONPath-selector equality on a `types.Json` column: - * `selectorEq('doc', '$.user.role', 'admin')` matches rows whose document - * carries that value at that path, compiled to encrypted containment of the - * reconstructed `{user: {role: 'admin'}}` needle. ARRAY-LEAF CAVEAT (pinned - * by the live integration suite): an ARRAY at the path does NOT match a - * scalar needle — ste_vec encodes array elements under their own selectors — - * so `{a:[40,30]}` is NOT matched by `selectorEq('$.a', 30)`; to match an - * array-valued path, pass the full array through `contains()`. Paths are - * dot-notation object keys (`'$.a.b'`); array/wildcard steps are - * rejected. */ + /** Encrypted JSONPath equality on legacy EQL versions. EQL 3.0.2+ fails fast + * because PostgREST cannot express the required query-domain cast. */ selectorEq & StringKeyOf>( column: K, path: string, value: SelectorLeafValue, ): EncryptedQueryBuilderV3 - /** Encrypted JSONPath-selector inequality. Matches rows whose document does - * NOT carry `value` at `path` — INCLUDING rows where the path is absent and - * rows whose document column is SQL NULL (compiled to - * `payload IS NULL OR NOT contains`, matching the Drizzle selector's `ne` - * semantics for both absence cases). The array-leaf caveat on - * {@link selectorEq} carries over: an ARRAY at `path` is never equal to a - * scalar needle, so such rows are INCLUDED here. Selector ordering - * (`gt`/`lt`/…) is not yet expressible over PostgREST — see - * cipherstash/encrypt-query-language#407. */ + /** Encrypted JSONPath inequality on legacy EQL versions. EQL 3.0.2+ fails + * fast because PostgREST cannot express the required query-domain cast. */ selectorNe & StringKeyOf>( column: K, path: string, value: SelectorLeafValue, ): EncryptedQueryBuilderV3 - /** Raw containment spelling on an encrypted `types.Json` column — the ONLY - * `filter()` form a JSON column supports (scalar operators have no terms to - * compare; they are compile-excluded via {@link V3FilterableKeys}). */ + /** Raw legacy containment spelling. EQL 3.0.2+ rejects this before sending. */ filter & StringKeyOf>( column: K, operator: 'cs', @@ -401,9 +381,8 @@ export interface EncryptedQueryBuilderV3< operator: string, value: Row[K], ): EncryptedQueryBuilderV3 - /** Negated exact containment on an encrypted `types.Json` column (PostgREST - * `not.cs`). Note the bare form EXCLUDES rows whose document column is SQL - * NULL (three-valued logic) — {@link selectorNe} adds the IS NULL arm. */ + /** Negated legacy containment spelling. EQL 3.0.2+ rejects this before + * sending. */ not & StringKeyOf>( column: K, operator: 'contains', @@ -442,21 +421,19 @@ export interface EncryptedQueryBuilderV3Untyped< column: K, value: string, ): EncryptedQueryBuilderV3Untyped - /** Native jsonb/array containment on a plaintext column (PostgREST `cs`), - * or ENCRYPTED ste_vec containment on an encrypted `types.Json` column — the - * runtime resolves the column kind and picks the encoding. */ + /** Native jsonb/array containment on plaintext columns. Encrypted JSON + * containment fails fast on EQL 3.0.2+. */ contains>( column: K, value: NativeContainsValue, ): EncryptedQueryBuilderV3Untyped - /** Encrypted JSONPath-selector equality on an encrypted `types.Json` column - * (runtime-guarded on the untyped surface). */ + /** Legacy encrypted JSONPath equality; fails fast on EQL 3.0.2+. */ selectorEq>( column: K, path: string, value: SelectorLeafValue, ): EncryptedQueryBuilderV3Untyped - /** Encrypted JSONPath-selector inequality (includes absent-path rows). */ + /** Legacy encrypted JSONPath inequality; fails fast on EQL 3.0.2+. */ selectorNe>( column: K, path: string, diff --git a/packages/stack/README.md b/packages/stack/README.md index 71f111655..5a757d3d7 100644 --- a/packages/stack/README.md +++ b/packages/stack/README.md @@ -168,7 +168,7 @@ CREATE TABLE users ( email public.eql_v3_text_search, age public.eql_v3_integer_ord, balance public.eql_v3_bigint, - metadata public.eql_v3_json + metadata public.eql_v3_json_search ); ``` @@ -289,11 +289,20 @@ const rangeQuery = await client.encryptQuery(30, { > **Gotcha — `TextSearch` defaults to equality.** A `TextSearch` column carries all three indexes, and `encryptQuery` with **no explicit `queryType` builds an equality term, not a free-text match**. A substring like `"joh"` then matches nothing. Always pass `queryType: 'freeTextSearch'` for substring/token search. -Free-text search is fuzzy bloom-filter token matching, surfaced as `matches` in the Drizzle and Supabase adapters — it is order- and multiplicity-insensitive and one-sided (a match may be a false positive, a non-match never is). It is not SQL `LIKE`; don't pass `%` wildcards. +Free-text search is fuzzy bloom-filter token matching, surfaced as `matches` in +the Drizzle adapter and `eqlMatch` in Prisma Next. It is order- and +multiplicity-insensitive and one-sided (a match may be a false positive, a +non-match never is). It is not SQL `LIKE`; don't pass `%` wildcards. + +> **Supabase + EQL 3.0.2:** encrypted free-text and JSON operators now require +> typed `eql_v3.query_*` operands. PostgREST cannot express those casts, so +> Supabase v3 fails fast for `matches()`, encrypted `contains()`, and +> `selectorEq()`/`selectorNe()`. Use Drizzle, Prisma Next, or a carefully scoped +> direct SQL/RPC path. ### Encrypted JSON -A `types.Json` column encrypts a whole JSON document (an object, array, or null — not a top-level scalar) to a `public.eql_v3_json` value. Two query patterns are supported: +A `types.Json` column encrypts a whole JSON document (an object, array, or null — not a top-level scalar) to a `public.eql_v3_json_search` value. Two query patterns are supported: **Exact containment** (jsonb `@>` semantics, no false positives). Pass a sub-object or sub-array needle; array containment is a subset test regardless of element position — `{ roles: ["admin"] }` matches any document whose `roles` array includes `"admin"`: @@ -309,15 +318,23 @@ const containsQuery = await client.encryptQuery( **JSONPath selectors** — equality and ordering at a path (`$.a`, `$.a.b` dot-notation object paths): - **Drizzle**: `ops.selector(events.metadata, "$.age")` returns comparison methods bound to the path — `eq`, `ne`, `gt`, `gte`, `lt`, `lte` (e.g. `await ops.selector(events.metadata, "$.age").gt(21)`). Its unique power over containment is *ordering* at a path; equality at a path is equivalently `contains(col, { age: 21 })`. -- **Supabase**: `selectorEq(col, path, value)` and `selectorNe(col, path, value)`. +- **Supabase**: unavailable through PostgREST on EQL 3.0.2 because it cannot + cast operands to `eql_v3.query_json`; the adapter fails fast. +- **Prisma Next**: `eqlJsonPathEq/Neq/Gt/Gte/Lt/Lte(path, value)` on an encrypted JSON field. Two semantics to know: - **`ne` includes absent paths.** A "not equal at path" query also matches rows where the path does not exist at all. -- **Array-leaf caveat:** a scalar needle does not match an array at the path. `selectorEq("payload", "$.roles", "admin")` does *not* match `{ roles: ["admin", "analyst"] }` — use containment for membership tests. +- **Array-leaf caveat:** a scalar needle does not match an array at the path. + Use a full-array containment needle for membership tests. `types.Json` carries no equality or ordering on the document itself, so applying `eq` / `gt` / `asc` directly to a `Json` column throws. +> **Upgrade note:** EQL 3.0.2 changes the searchable-JSON storage domain and +> SteVec wire format. Existing encrypted JSON rows must be re-encrypted before +> querying them with this version. Legacy EQL v2 `searchableJson()` columns are +> no longer supported; migrate them to the EQL v3 `types.Json` domain. + ### Batch Query Encryption Encrypt multiple query terms in one call: @@ -435,7 +452,12 @@ await es.from("users").select("id, email").eq("email", "a@b.com") await es.from("users").select("id, age").gte("age", 18).order("age") ``` -Encrypted free-text search is `matches()` (fuzzy bloom token search — `contains()` stays native, exact containment for plaintext columns), encrypted-JSON path queries are `selectorEq()` / `selectorNe()`, and `order()` works on OPE-backed ordering columns. Pass optional declared `schemas` for compile-time row types. See the `stash-supabase` skill or the [docs](https://cipherstash.com/docs) for the full guide. +Equality/range filters and `order()` on OPE-backed ordering columns remain +available. On EQL 3.0.2, PostgREST cannot express the typed query operands +required by encrypted free-text and JSON operators, so those methods fail with +an actionable error. Pass optional declared `schemas` for compile-time row +types. See the `stash-supabase` skill or the [docs](https://cipherstash.com/docs) +for the full guide. ## Authentication @@ -745,13 +767,14 @@ depend on `@cipherstash/stack` (they are no longer subpaths of it): Before the concrete-domain types above, encrypted columns were declared with chainable capability builders and stored in a single `eql_v2_encrypted` -composite column type. That surface remains fully supported for existing -deployments, but new work should use EQL v3: +composite column type. The scalar surface remains supported for existing +deployments, but new work should use EQL v3. Legacy searchable JSON cannot be +emitted by protect-ffi 0.30 and must migrate to v3 `types.Json`: - **Client and schema**: `Encryption` from `@cipherstash/stack` with `encryptedColumn("email").equality().freeTextSearch().orderAndRange()` and - `.searchableJson()` from `@cipherstash/stack/schema`. v2 and v3 tables cannot - be mixed in one client. + the builders from `@cipherstash/stack/schema`. v2 and v3 tables cannot be + mixed in one client. - **Query formatting**: v2 query terms can be rendered as strings with `returnType: 'composite-literal'` / `'escaped-composite-literal'` for string-based APIs. diff --git a/packages/stack/__tests__/encrypt-query-searchable-json.test.ts b/packages/stack/__tests__/encrypt-query-searchable-json.test.ts index 5a9d780cd..41a7ae6ab 100644 --- a/packages/stack/__tests__/encrypt-query-searchable-json.test.ts +++ b/packages/stack/__tests__/encrypt-query-searchable-json.test.ts @@ -1,853 +1,132 @@ import 'dotenv/config' import { beforeAll, describe, expect, it } from 'vitest' +import { encryptedTable, types } from '@/eql/v3' import { Encryption } from '@/index' +import { createMockLockContext, expectFailure, unwrapResult } from './fixtures' type EncryptionClient = Awaited> -import { - createMockLockContext, - expectFailure, - jsonbSchema, - metadata, - unwrapResult, -} from './fixtures' - -/* - * The `searchableJson` queryType provides a friendlier API by auto-inferring the - * underlying query operation from the plaintext type. It's equivalent to omitting - * queryType on ste_vec columns, but explicit for code clarity. - * - String values → ste_vec_selector (JSONPath queries) - * - Object/Array values → ste_vec_term (containment queries) - */ +const documents = encryptedTable('documents', { + metadata: types.Json('metadata'), +}) -/** Assert encrypted selector output has valid shape */ -function expectSelector(data: any) { - expect(data).toHaveProperty('s') - expect(typeof data.s).toBe('string') - expect(data.s.length).toBeGreaterThan(0) +function expectSelector(value: unknown): asserts value is string { + expect(typeof value).toBe('string') + expect((value as string).length).toBeGreaterThan(0) } -/** Assert encrypted term output has valid shape */ -function expectTerm(data: any) { - expect(data).toHaveProperty('sv') - expect(Array.isArray(data.sv)).toBe(true) +function expectContainment(value: unknown): void { + expect(value).toMatchObject({ sv: expect.any(Array) }) + expect(JSON.stringify(value)).not.toContain('"c"') } -describe('encryptQuery with searchableJson queryType', () => { - let protectClient: EncryptionClient +describe('encryptQuery with searchableJson', () => { + let client: EncryptionClient beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema, metadata] }) + client = await Encryption({ schemas: [documents] }) }) - // Core functionality: auto-inference from plaintext type - - it('auto-infers ste_vec_selector for string plaintext (JSONPath)', async () => { - const result = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectSelector(data) - }, 30000) - - it('auto-infers ste_vec_term for object plaintext (containment)', async () => { - const result = await protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) - }, 30000) - - it('auto-infers ste_vec_term for nested object', async () => { - const result = await protectClient.encryptQuery( - { user: { profile: { role: 'admin' } } }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) - }, 30000) - - it('auto-infers ste_vec_term for array plaintext', async () => { - const result = await protectClient.encryptQuery(['admin', 'user'], { - column: jsonbSchema.metadata, - table: jsonbSchema, + it('infers a selector hash for string plaintext', async () => { + const result = await client.encryptQuery('$.user.email', { + column: documents.metadata, + table: documents, queryType: 'searchableJson', }) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) + expectSelector(unwrapResult(result)) }, 30000) - // Edge cases: number/boolean require wrapping (same as steVecTerm) - - it('fails for bare number plaintext (requires wrapping)', async () => { - const result = await protectClient.encryptQuery(42, { - column: jsonbSchema.metadata, - table: jsonbSchema, + it.each([ + { role: 'admin' }, + { user: { profile: { role: 'admin' } } }, + ['admin', 'user'], + ])('uses default structural containment for %j', async (value) => { + const result = await client.encryptQuery(value, { + column: documents.metadata, + table: documents, queryType: 'searchableJson', }) - - expectFailure(result, /Wrap the number in a JSON object/) + expectContainment(unwrapResult(result)) }, 30000) - it('fails for bare boolean plaintext (requires wrapping)', async () => { - const result = await protectClient.encryptQuery(true, { - column: jsonbSchema.metadata, - table: jsonbSchema, + it.each([ + 42, + true, + ])('rejects a top-level JSON scalar containment needle (%j)', async (value) => { + const result = await client.encryptQuery(value, { + column: documents.metadata, + table: documents, queryType: 'searchableJson', }) - - expectFailure(result, /Wrap the boolean in a JSON object/) - }, 30000) -}) - -describe('encryptQuery with searchableJson column and omitted queryType', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema, metadata] }) - }) - - it('auto-infers ste_vec_selector for string plaintext (JSONPath)', async () => { - const result = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - }) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectSelector(data) - }, 30000) - - it('auto-infers ste_vec_term for object plaintext (containment)', async () => { - const result = await protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - }, - ) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) - }, 30000) - - it('fails for bare number plaintext (requires wrapping)', async () => { - const result = await protectClient.encryptQuery(42, { - column: jsonbSchema.metadata, - table: jsonbSchema, - }) - - expectFailure(result, /Wrap the number in a JSON object/) - }, 30000) - - it('fails for bare boolean plaintext (requires wrapping)', async () => { - const result = await protectClient.encryptQuery(true, { - column: jsonbSchema.metadata, - table: jsonbSchema, - }) - - expectFailure(result, /Wrap the boolean in a JSON object/) - }, 30000) -}) - -describe('searchableJson validation', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema, metadata] }) - }) - - it('throws when used on column without ste_vec index', async () => { - const result = await protectClient.encryptQuery('$.path', { - column: metadata.raw, // raw column has no ste_vec index - table: metadata, - queryType: 'searchableJson', - }) - expectFailure(result) }, 30000) -}) - -describe('searchableJson batch operations', () => { - let protectClient: EncryptionClient - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema] }) - }) - - it('handles mixed plaintext types in single batch', async () => { - const result = await protectClient.encryptQuery([ - { - value: '$.user.email', // string → ste_vec_selector - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - { - value: { role: 'admin' }, // object → ste_vec_term - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - { - value: ['tag1', 'tag2'], // array → ste_vec_term - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ]) - - const data = unwrapResult(result) - expect(data).toHaveLength(3) - expect(data[0]).toMatchObject({ i: { t: 'documents', c: 'metadata' } }) - expectSelector(data[0]) - expect(data[1]).toMatchObject({ i: { t: 'documents', c: 'metadata' } }) - expectTerm(data[1]) - expect(data[2]).toMatchObject({ i: { t: 'documents', c: 'metadata' } }) - expectTerm(data[2]) - }, 30000) - - it('can be mixed with explicit steVecSelector/steVecTerm in batch', async () => { - const result = await protectClient.encryptQuery([ - { - value: '$.path1', - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', // auto-infer - }, - { - value: '$.path2', - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecSelector', // explicit - }, - { - value: { key: 'value' }, - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecTerm', // explicit - }, - ]) - - const data = unwrapResult(result) - expect(data).toHaveLength(3) - expectSelector(data[0]) - expectSelector(data[1]) - expectTerm(data[2]) - }, 30000) - - it('can omit queryType for searchableJson in batch', async () => { - const result = await protectClient.encryptQuery([ - { - value: '$.path1', - column: jsonbSchema.metadata, - table: jsonbSchema, - }, - { - value: { key: 'value' }, - column: jsonbSchema.metadata, - table: jsonbSchema, - }, - ]) - - const data = unwrapResult(result) - expect(data).toHaveLength(2) - expectSelector(data[0]) - expectTerm(data[1]) - }, 30000) -}) - -describe('searchableJson with returnType formatting', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema] }) - }) - - it('supports composite-literal returnType', async () => { - const result = await protectClient.encryptQuery([ - { - value: '$.user.email', - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - returnType: 'composite-literal', - }, - ]) - - const data = unwrapResult(result) - expect(data).toHaveLength(1) - expect(typeof data[0]).toBe('string') - // Format: ("json") - expect(data[0]).toMatch(/^\(".*"\)$/) - }, 30000) - - it('supports escaped-composite-literal returnType', async () => { - const result = await protectClient.encryptQuery([ - { - value: { role: 'admin' }, - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - returnType: 'escaped-composite-literal', - }, - ]) - - const data = unwrapResult(result) - expect(data).toHaveLength(1) - expect(typeof data[0]).toBe('string') - // Format: "(\"json\")" - outer quotes with escaped inner quotes - expect(data[0]).toMatch(/^"\(.*\)"$/) - }, 30000) -}) - -describe('single-value returnType', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema] }) - }) - - it('returns composite-literal for selector', async () => { - const result = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - returnType: 'composite-literal', - }) - - const data = unwrapResult(result) - expect(typeof data).toBe('string') - expect(data).toMatch(/^\(".*"\)$/) - }, 30000) - - it('returns composite-literal for term', async () => { - const result = await protectClient.encryptQuery( + it('infers the same operation when queryType is omitted', async () => { + const explicit = await client.encryptQuery( { role: 'admin' }, { - column: jsonbSchema.metadata, - table: jsonbSchema, + column: documents.metadata, + table: documents, queryType: 'searchableJson', - returnType: 'composite-literal', }, ) - - const data = unwrapResult(result) - expect(typeof data).toBe('string') - expect(data).toMatch(/^\(".*"\)$/) - }, 30000) - - it('returns escaped-composite-literal for selector', async () => { - const result = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - returnType: 'escaped-composite-literal', - }) - - const data = unwrapResult(result) - expect(typeof data).toBe('string') - expect(data as string).toMatch(/^"\(.*\)"$/) - // JSON.parse should yield the composite-literal format - const parsed = JSON.parse(data as string) - expect(parsed).toMatch(/^\(.*\)$/) - }, 30000) - - it('returns escaped-composite-literal for term', async () => { - const result = await protectClient.encryptQuery( + const implicit = await client.encryptQuery( { role: 'admin' }, { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - returnType: 'escaped-composite-literal', + column: documents.metadata, + table: documents, }, ) - - const data = unwrapResult(result) - expect(typeof data).toBe('string') - expect(data as string).toMatch(/^"\(.*\)"$/) - const parsed = JSON.parse(data as string) - expect(parsed).toMatch(/^\(.*\)$/) + expect(unwrapResult(explicit)).toEqual(unwrapResult(implicit)) }, 30000) - it('returns Encrypted object when returnType is omitted', async () => { - const result = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }) - - const data = unwrapResult(result) as any - expect(typeof data).toBe('object') - expect(data).toHaveProperty('i') - expect(data.i).toHaveProperty('t') - expect(data.i).toHaveProperty('c') - }, 30000) -}) - -describe('searchableJson with LockContext', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema] }) - }) - - it('exposes withLockContext method', async () => { - const operation = protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }) - - expect(operation.withLockContext).toBeDefined() - expect(typeof operation.withLockContext).toBe('function') - }) - - it('executes string plaintext bound to an identity claim', async () => { - const operation = protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }) - - const withContext = operation.withLockContext(createMockLockContext()) - const result = await withContext.execute() - - const data = unwrapResult(result) - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectSelector(data) - }, 30000) - - it('executes object plaintext bound to an identity claim', async () => { - const operation = protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const withContext = operation.withLockContext(createMockLockContext()) - const result = await withContext.execute() - - // Ensure the operation actually completed (has either data or failure) - expect(result.data !== undefined || result.failure !== undefined).toBe(true) - - if (result.data) { - expect(result.data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(result.data) - } - }, 30000) - - it('executes a batch bound to an identity claim', async () => { - const operation = protectClient.encryptQuery([ + it('preserves mixed selector and containment results in a batch', async () => { + const result = await client.encryptQuery([ { value: '$.user.email', - column: jsonbSchema.metadata, - table: jsonbSchema, + column: documents.metadata, + table: documents, queryType: 'searchableJson', }, { value: { role: 'admin' }, - column: jsonbSchema.metadata, - table: jsonbSchema, + column: documents.metadata, + table: documents, queryType: 'searchableJson', }, ]) - - const withContext = operation.withLockContext(createMockLockContext()) - const result = await withContext.execute() - - if (result.data) { - expect(result.data).toHaveLength(2) - } - }, 30000) -}) - -describe('searchableJson equivalence', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema] }) - }) - - it('produces identical metadata to omitting queryType for string', async () => { - const explicitResult = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }) - - const implicitResult = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - }) - - // Both should succeed and have identical metadata structure - const explicitData = unwrapResult(explicitResult) - const implicitData = unwrapResult(implicitResult) - - expect(explicitData.i).toEqual(implicitData.i) - expect(explicitData.v).toEqual(implicitData.v) - expectSelector(explicitData) - expectSelector(implicitData) - }, 30000) - - it('produces identical metadata to omitting queryType for object', async () => { - const explicitResult = await protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const implicitResult = await protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - }, - ) - - const explicitData = unwrapResult(explicitResult) - const implicitData = unwrapResult(implicitResult) - - expect(explicitData.i).toEqual(implicitData.i) - expect(explicitData.v).toEqual(implicitData.v) - expectTerm(explicitData) - expectTerm(implicitData) - }, 30000) - - it('produces identical metadata to explicit steVecSelector for string', async () => { - const searchableJsonResult = await protectClient.encryptQuery( - '$.user.email', - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const steVecSelectorResult = await protectClient.encryptQuery( - '$.user.email', - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecSelector', - }, - ) - - const searchableJsonData = unwrapResult(searchableJsonResult) - const steVecSelectorData = unwrapResult(steVecSelectorResult) - - expect(searchableJsonData.i).toEqual(steVecSelectorData.i) - expect(searchableJsonData.v).toEqual(steVecSelectorData.v) - expectSelector(searchableJsonData) - expectSelector(steVecSelectorData) - }, 30000) - - it('produces identical metadata to explicit steVecTerm for object', async () => { - const searchableJsonResult = await protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const steVecTermResult = await protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecTerm', - }, - ) - - const searchableJsonData = unwrapResult(searchableJsonResult) - const steVecTermData = unwrapResult(steVecTermResult) - - expect(searchableJsonData.i).toEqual(steVecTermData.i) - expect(searchableJsonData.v).toEqual(steVecTermData.v) - expectTerm(searchableJsonData) - expectTerm(steVecTermData) - }, 30000) -}) - -describe('searchableJson edge cases', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema] }) - }) - - // Valid edge cases that should succeed - - it('succeeds for empty object', async () => { - const result = await protectClient.encryptQuery( - {}, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const data = unwrapResult(result) - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) - }, 30000) - - it('succeeds for empty array', async () => { - const result = await protectClient.encryptQuery([], { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }) - const data = unwrapResult(result) - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) - }, 30000) - - it('succeeds for object with wrapped number', async () => { - const result = await protectClient.encryptQuery( - { value: 42 }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const data = unwrapResult(result) - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) - }, 30000) - - it('succeeds for object with wrapped boolean', async () => { - const result = await protectClient.encryptQuery( - { active: true }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const data = unwrapResult(result) - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) + expectSelector(data[0]) + expectContainment(data[1]) }, 30000) - it('succeeds for object with null value', async () => { - const result = await protectClient.encryptQuery( - { field: null }, + it.each([ + 'composite-literal', + 'escaped-composite-literal', + ] as const)('supports %s formatting for containment needles', async (returnType) => { + const result = await client.encryptQuery( + { role: 'admin' }, { - column: jsonbSchema.metadata, - table: jsonbSchema, + column: documents.metadata, + table: documents, queryType: 'searchableJson', + returnType, }, ) - - const data = unwrapResult(result) - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) + expect(typeof unwrapResult(result)).toBe('string') }, 30000) - it('succeeds for deeply nested object (3+ levels)', async () => { - const result = await protectClient.encryptQuery( - { - level1: { - level2: { - level3: { - level4: { - value: 'deep', - }, - }, - }, + it('supports lock-context chaining for JSON query terms', async () => { + const result = await client + .encryptQuery( + { role: 'admin' }, + { + column: documents.metadata, + table: documents, + queryType: 'searchableJson', }, - }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ) - - const data = unwrapResult(result) - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectTerm(data) - }, 30000) - - // String edge cases for JSONPath selectors - - it('succeeds for JSONPath with array index notation', async () => { - const result = await protectClient.encryptQuery('$.items[0].name', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }) - - const data = unwrapResult(result) - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectSelector(data) - }, 30000) - - it('succeeds for JSONPath with wildcard', async () => { - const result = await protectClient.encryptQuery('$.items[*].name', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }) - - const data = unwrapResult(result) - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - expectSelector(data) - }, 30000) -}) - -describe('searchableJson batch edge cases', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema] }) - }) - - it('handles single-item batch identically to scalar', async () => { - const scalarResult = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }) - - const batchResult = await protectClient.encryptQuery([ - { - value: '$.user.email', - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson', - }, - ]) - - const scalarData = unwrapResult(scalarResult) - const batchData = unwrapResult(batchResult) - - expect(batchData).toHaveLength(1) - expect(batchData[0].i).toEqual(scalarData.i) - expect(batchData[0].v).toEqual(scalarData.v) - expectSelector(scalarData) - expectSelector(batchData[0]) - }, 30000) - - it('handles empty batch', async () => { - const result = await protectClient.encryptQuery([]) - - const data = unwrapResult(result) - expect(data).toHaveLength(0) - }, 30000) - - it('handles large batch (10+ items)', async () => { - const items = Array.from({ length: 12 }, (_, i) => ({ - value: i % 2 === 0 ? `$.path${i}` : { index: i }, - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'searchableJson' as const, - })) - - const result = await protectClient.encryptQuery(items) - - const data = unwrapResult(result) - expect(data).toHaveLength(12) - data.forEach((item: any, idx: number) => { - expect(item).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - v: 2, - }) - if (idx % 2 === 0) { - expectSelector(item) - } else { - expectTerm(item) - } - }) + ) + .withLockContext(createMockLockContext()) + expectContainment(unwrapResult(result)) }, 30000) }) diff --git a/packages/stack/__tests__/encrypt-query-stevec.test.ts b/packages/stack/__tests__/encrypt-query-stevec.test.ts index 261241ed4..54d9f1396 100644 --- a/packages/stack/__tests__/encrypt-query-stevec.test.ts +++ b/packages/stack/__tests__/encrypt-query-stevec.test.ts @@ -1,332 +1,139 @@ import 'dotenv/config' import { beforeAll, describe, expect, it } from 'vitest' +import { encryptedTable, types } from '@/eql/v3' import { Encryption } from '@/index' +import { expectFailure, unwrapResult } from './fixtures' type EncryptionClient = Awaited> -import { expectFailure, jsonbSchema, metadata, unwrapResult } from './fixtures' - -describe('encryptQuery with steVecSelector', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema, metadata] }) - }) - - it('encrypts a JSONPath selector', async () => { - const result = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecSelector', - }) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - }) - }, 30000) - - it('encrypts nested path selector', async () => { - const result = await protectClient.encryptQuery('$.user.profile.settings', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecSelector', - }) +const documents = encryptedTable('documents', { + metadata: types.Json('metadata'), +}) +const plain = encryptedTable('plain', { raw: types.Text('raw') }) - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - }) - }, 30000) +function expectSelector(value: unknown): asserts value is string { + expect(typeof value).toBe('string') + expect((value as string).length).toBeGreaterThan(0) +} - it('fails for non-string plaintext with steVecSelector (object)', async () => { - const result = await protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecSelector', - }, - ) +function expectQueryJson(value: unknown): void { + expect(value).toMatchObject({ sv: expect.any(Array) }) + expect(JSON.stringify(value)).not.toContain('"c"') +} - expectFailure(result) - }, 30000) -}) +function expectOrderingTerm(value: unknown): void { + expect(value).toMatchObject({ v: 3, op: expect.any(String) }) + expect(value).not.toHaveProperty('c') +} -describe('encryptQuery with steVecTerm', () => { - let protectClient: EncryptionClient +describe('encryptQuery with protect-ffi 0.30 SteVec operations', () => { + let client: EncryptionClient beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema, metadata] }) + client = await Encryption({ schemas: [documents, plain] }) }) - it('encrypts an object for containment query', async () => { - const result = await protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecTerm', - }, - ) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, + it('returns a bare selector hash for a JSONPath', async () => { + const result = await client.encryptQuery('$.user.email', { + column: documents.metadata, + table: documents, + queryType: 'steVecSelector', }) + expectSelector(unwrapResult(result)) }, 30000) - it('encrypts nested object for containment', async () => { - const result = await protectClient.encryptQuery( - { user: { profile: { role: 'admin' } } }, + it('returns an exact value-selector containment needle', async () => { + const result = await client.encryptQuery( + { path: '$.user.age', value: 42 }, { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecTerm', + column: documents.metadata, + table: documents, + queryType: 'steVecValueSelector', }, ) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - }) + expectQueryJson(unwrapResult(result)) }, 30000) - it('encrypts array for containment query', async () => { - const result = await protectClient.encryptQuery([1, 2, 3], { - column: jsonbSchema.metadata, - table: jsonbSchema, + it.each([ + 'zoe', + 42, + ])('returns a ciphertext-free selector ordering term for %j', async (value) => { + const result = await client.encryptQuery(value, { + column: documents.metadata, + table: documents, queryType: 'steVecTerm', }) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - }) + expectOrderingTerm(unwrapResult(result)) }, 30000) - it('rejects string plaintext with steVecTerm', async () => { - // steVecTerm requires object or array, not string - // For path queries like '$.field', use steVecSelector instead - const result = await protectClient.encryptQuery('search text', { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecTerm', + it.each([ + { role: 'admin' }, + ['admin', 'user'], + ])('uses default structural containment for %j', async (value) => { + const result = await client.encryptQuery(value, { + column: documents.metadata, + table: documents, + queryType: 'searchableJson', }) - - expectFailure(result, /expected JSON object or array/) + expectQueryJson(unwrapResult(result)) }, 30000) -}) - -describe('encryptQuery STE Vec validation', () => { - let protectClient: EncryptionClient - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema, metadata] }) - }) - - it('throws when steVecSelector used on non-ste_vec column', async () => { - const result = await protectClient.encryptQuery('$.user.email', { - column: metadata.raw, // raw column has no ste_vec index - table: metadata, - queryType: 'steVecSelector', + it('infers selector versus containment when queryType is omitted', async () => { + const selector = await client.encryptQuery('$.user.email', { + column: documents.metadata, + table: documents, }) - - expectFailure(result) - }, 30000) - - it('throws when steVecTerm used on non-ste_vec column', async () => { - const result = await protectClient.encryptQuery( - { field: 'value' }, + const containment = await client.encryptQuery( + { role: 'admin' }, { - column: metadata.raw, // raw column has no ste_vec index - table: metadata, - queryType: 'steVecTerm', + column: documents.metadata, + table: documents, }, ) - - expectFailure(result) + expectSelector(unwrapResult(selector)) + expectQueryJson(unwrapResult(containment)) }, 30000) -}) - -describe('encryptQuery batch with STE Vec', () => { - let protectClient: EncryptionClient - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema, metadata] }) - }) - - it('handles mixed query types in batch (steVecSelector + steVecTerm)', async () => { - const result = await protectClient.encryptQuery([ + it('supports every SteVec query shape in one batch', async () => { + const result = await client.encryptQuery([ { value: '$.user.email', - column: jsonbSchema.metadata, - table: jsonbSchema, + column: documents.metadata, + table: documents, queryType: 'steVecSelector', }, { - value: { role: 'admin' }, - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecTerm', + value: { path: '$.user.age', value: 42 }, + column: documents.metadata, + table: documents, + queryType: 'steVecValueSelector', }, - ]) - - const data = unwrapResult(result) - - expect(data).toHaveLength(2) - expect(data[0]).toMatchObject({ i: { t: 'documents', c: 'metadata' } }) - expect(data[1]).toMatchObject({ i: { t: 'documents', c: 'metadata' } }) - }, 30000) - - it('handles multiple steVecSelector queries in batch', async () => { - const result = await protectClient.encryptQuery([ { - value: '$.user.email', - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecSelector', + value: 42, + column: documents.metadata, + table: documents, + queryType: 'steVecTerm', }, { - value: '$.settings.theme', - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecSelector', + value: { role: 'admin' }, + column: documents.metadata, + table: documents, + queryType: 'searchableJson', }, ]) - - const data = unwrapResult(result) - - expect(data).toHaveLength(2) - expect(data[0]).toMatchObject({ i: { t: 'documents', c: 'metadata' } }) - expect(data[1]).toMatchObject({ i: { t: 'documents', c: 'metadata' } }) - }, 30000) -}) - -describe('encryptQuery with queryType inference', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema] }) - }) - - it('infers steVecSelector for string plaintext without queryType', async () => { - const result = await protectClient.encryptQuery('$.user.email', { - column: jsonbSchema.metadata, - table: jsonbSchema, - // No queryType - should infer steVecSelector from string - }) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - }) - }, 30000) - - it('infers steVecTerm for object plaintext without queryType', async () => { - const result = await protectClient.encryptQuery( - { role: 'admin' }, - { - column: jsonbSchema.metadata, - table: jsonbSchema, - // No queryType - should infer steVecTerm from object - }, - ) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - }) - }, 30000) - - it('infers steVecTerm for array plaintext without queryType', async () => { - const result = await protectClient.encryptQuery(['admin', 'user'], { - column: jsonbSchema.metadata, - table: jsonbSchema, - // No queryType - should infer steVecTerm from array - }) - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, - }) - }, 30000) - - it('infers steVecTerm for number plaintext but FFI requires wrapping', async () => { - // Numbers infer steVecTerm but FFI requires wrapping in object/array - const result = await protectClient.encryptQuery(42, { - column: jsonbSchema.metadata, - table: jsonbSchema, - // No queryType - infers steVecTerm, FFI rejects with helpful message - }) - - expectFailure(result, /Wrap the number in a JSON object/) - }, 30000) - - it('infers steVecTerm for boolean plaintext but FFI requires wrapping', async () => { - // Booleans infer steVecTerm but FFI requires wrapping in object/array - const result = await protectClient.encryptQuery(true, { - column: jsonbSchema.metadata, - table: jsonbSchema, - // No queryType - infers steVecTerm, FFI rejects with helpful message - }) - - expectFailure(result, /Wrap the boolean in a JSON object/) + expectSelector(data[0]) + expectQueryJson(data[1]) + expectOrderingTerm(data[2]) + expectQueryJson(data[3]) }, 30000) - it('uses explicit queryType over plaintext inference', async () => { - // String plaintext would normally infer steVecSelector, but explicit steVecTerm should be used - // Note: steVecTerm with string fails FFI validation, so we test the opposite direction - // Using a number (which would infer steVecTerm) with explicit steVecSelector would also fail - // So we verify with array + steVecTerm (already tested) and trust unit test coverage for precedence - const result = await protectClient.encryptQuery([42], { - column: jsonbSchema.metadata, - table: jsonbSchema, - queryType: 'steVecTerm', // Explicit - matches inference but proves explicit path works - }) - - const data = unwrapResult(result) - expect(data).toBeDefined() - expect(data).toMatchObject({ - i: { t: 'documents', c: 'metadata' }, + it('rejects SteVec query operations on a non-SteVec column', async () => { + const result = await client.encryptQuery('$.user.email', { + column: plain.raw, + table: plain, + queryType: 'steVecSelector', }) - }, 30000) -}) - -describe('encryptQuery batch with queryType inference', () => { - let protectClient: EncryptionClient - - beforeAll(async () => { - protectClient = await Encryption({ schemas: [jsonbSchema] }) - }) - - it('infers queryOp for each term independently in batch', async () => { - const results = await protectClient.encryptQuery([ - { - value: '$.user.email', // string → steVecSelector - column: jsonbSchema.metadata, - table: jsonbSchema, - // No queryType - }, - { - value: { role: 'admin' }, // object → steVecTerm - column: jsonbSchema.metadata, - table: jsonbSchema, - // No queryType - }, - ]) - - const data = unwrapResult(results) - expect(data).toHaveLength(2) - expect(data[0]).toBeDefined() - expect(data[1]).toBeDefined() + expectFailure(result, /not configured/) }, 30000) }) diff --git a/packages/stack/__tests__/eql-v3-domain-registry.test.ts b/packages/stack/__tests__/eql-v3-domain-registry.test.ts index 22665d21c..4a6243fb6 100644 --- a/packages/stack/__tests__/eql-v3-domain-registry.test.ts +++ b/packages/stack/__tests__/eql-v3-domain-registry.test.ts @@ -61,7 +61,7 @@ const EXPECTED_DOMAIN_KEYS = [ 'eql_v3_double_eq', 'eql_v3_double_ord_ore', 'eql_v3_double_ord', - 'eql_v3_json', + 'eql_v3_json_search', ] as const describe('DOMAIN_REGISTRY', () => { diff --git a/packages/stack/__tests__/error-codes.test.ts b/packages/stack/__tests__/error-codes.test.ts index ad1c7de41..9c4a268b2 100644 --- a/packages/stack/__tests__/error-codes.test.ts +++ b/packages/stack/__tests__/error-codes.test.ts @@ -23,7 +23,6 @@ describe('FFI Error Code Preservation', () => { email: encryptedColumn('email').equality(), bio: encryptedColumn('bio').freeTextSearch(), age: encryptedColumn('age').dataType('number').orderAndRange(), - metadata: encryptedColumn('metadata').searchableJson(), }) // Schema without indexes for testing non-FFI validation diff --git a/packages/stack/__tests__/infer-index-type.test.ts b/packages/stack/__tests__/infer-index-type.test.ts index 7c4309545..92c731f42 100644 --- a/packages/stack/__tests__/infer-index-type.test.ts +++ b/packages/stack/__tests__/infer-index-type.test.ts @@ -84,20 +84,20 @@ describe('infer-index-type helpers', () => { expect(inferQueryOpFromPlaintext('$.user.email')).toBe('ste_vec_selector') }) - it('returns ste_vec_term for object plaintext', () => { - expect(inferQueryOpFromPlaintext({ role: 'admin' })).toBe('ste_vec_term') + it('returns default for object plaintext containment', () => { + expect(inferQueryOpFromPlaintext({ role: 'admin' })).toBe('default') }) - it('returns ste_vec_term for array plaintext', () => { - expect(inferQueryOpFromPlaintext(['admin', 'user'])).toBe('ste_vec_term') + it('returns default for array plaintext containment', () => { + expect(inferQueryOpFromPlaintext(['admin', 'user'])).toBe('default') }) - it('returns ste_vec_term for number plaintext', () => { - expect(inferQueryOpFromPlaintext(42)).toBe('ste_vec_term') + it('returns default for number plaintext', () => { + expect(inferQueryOpFromPlaintext(42)).toBe('default') }) - it('returns ste_vec_term for boolean plaintext', () => { - expect(inferQueryOpFromPlaintext(true)).toBe('ste_vec_term') + it('returns default for boolean plaintext', () => { + expect(inferQueryOpFromPlaintext(true)).toBe('default') }) }) }) diff --git a/packages/stack/__tests__/init-strategy.test.ts b/packages/stack/__tests__/init-strategy.test.ts index e92e05da1..ddef9f0f5 100644 --- a/packages/stack/__tests__/init-strategy.test.ts +++ b/packages/stack/__tests__/init-strategy.test.ts @@ -206,6 +206,16 @@ describe('Encryption config.eqlVersion', () => { expect(lastNewClientOpts().eqlVersion).toBeUndefined() }) + it('rejects legacy v2 searchableJson before constructing an incompatible FFI client', async () => { + const legacyJson = encryptedTable('documents', { + metadata: encryptedColumn('metadata').searchableJson(), + }) + await expect(Encryption({ schemas: [legacyJson] })).rejects.toThrow( + /legacy EQL v2 schema is not supported.*types\.Json\(\)/, + ) + expect(ffi.newClient).not.toHaveBeenCalled() + }) + it('auto-detects eqlVersion 3 when every schema is a v3 table', async () => { await Encryption({ schemas: [v3Table()] }) diff --git a/packages/stack/__tests__/match-bloom-live.test.ts b/packages/stack/__tests__/match-bloom-live.test.ts index c9c5b8a74..e139b0e94 100644 --- a/packages/stack/__tests__/match-bloom-live.test.ts +++ b/packages/stack/__tests__/match-bloom-live.test.ts @@ -62,11 +62,11 @@ describe('protect-ffi match bloom', () => { return (payload as { bf?: number[] }).bf ?? [] } - // The bloom of a QUERY term, produced the way a `contains` query actually + // The bloom of a QUERY term, produced the way a `matches` query actually // produces its needle — `encryptQuery` with the `match` index type, not - // `encrypt`. This is the operand `eql_v3.contains` binds on the right of `@>`, - // so a subset test against a stored `bloomOf` value is the real query path, - // not a same-function artefact comparing `encrypt` to itself. + // `encrypt`. This is the operand `eql_v3.matches` receives, so a subset test + // against a stored `bloomOf` value is the real query path, not a same-function + // artefact comparing `encrypt` to itself. const queryBloomOf = async (client: Client, plaintext: string) => { const term = await encryptQuery(client, { plaintext, @@ -116,8 +116,20 @@ describe('protect-ffi match bloom', () => { expect(bloom).toEqual([]) }) + // protect-ffi 0.30 closes the core fail-open path: query encryption itself + // rejects empty-token needles, so callers that bypass every ORM guard still + // cannot produce the match-all bloom operand reported in #697. + it.each([ + [1, 'a'], + [2, 'ad'], + ] as const)('rejects the %i-character query needle in the core FFI', async (_length, needle) => { + await expect(queryBloomOf(withOriginal, needle)).rejects.toThrow( + /short|token|3|ngram/i, + ) + }) + // The query needle's bloom is a subset of the STORED value's bloom — which is - // exactly what `eql_v3.contains` (`match_term(stored) @> query_term(needle)`) + // exactly what `eql_v3.matches` (`match_term(stored) @> query_term(needle)`) // tests. The haystack is a stored `encrypt` value; each needle is an // `encryptQuery` `match` term, the real operand the containment query binds — // so this exercises the query path, not `encrypt` compared to itself. This is diff --git a/packages/stack/__tests__/searchable-json-pg.test.ts b/packages/stack/__tests__/searchable-json-pg.test.ts deleted file mode 100644 index ae4968177..000000000 --- a/packages/stack/__tests__/searchable-json-pg.test.ts +++ /dev/null @@ -1,2396 +0,0 @@ -import 'dotenv/config' -import postgres from 'postgres' -import { afterAll, beforeAll, describe, expect, it } from 'vitest' -import { LockContext } from '@/identity' -import { Encryption } from '@/index' -import { encryptedColumn, encryptedTable } from '@/schema' - -if (!process.env.DATABASE_URL) { - throw new Error('Missing env.DATABASE_URL') -} - -// Disable prepared statements — required for pooled connections (PgBouncer in transaction mode) -const sql = postgres(process.env.DATABASE_URL, { prepare: false }) - -const table = encryptedTable('protect-ci-jsonb-stack', { - metadata: encryptedColumn('metadata').searchableJson(), -}) - -const TEST_RUN_ID = `test-run-${Date.now()}-${Math.random().toString(36).slice(2, 8)}` -const userJwt = process.env.USER_JWT - -type EncryptionClient = Awaited> -let protectClient: EncryptionClient - -// ─── Helpers ───────────────────────────────────────────────────────── - -async function insertRow(plaintext: any) { - const encrypted = await protectClient.encryptModel( - { metadata: plaintext }, - table, - ) - if (encrypted.failure) throw new Error(encrypted.failure.message) - - const [inserted] = await sql` - INSERT INTO "protect-ci-jsonb-stack" (metadata, test_run_id) - VALUES (${sql.json(encrypted.data.metadata)}::eql_v2_encrypted, ${TEST_RUN_ID}) - RETURNING id - ` - return { id: inserted.id, encrypted } -} - -async function verifyRow(row: any, expected: any) { - expect(row).toBeDefined() - const decrypted = await protectClient.decryptModel({ metadata: row.metadata }) - if (decrypted.failure) throw new Error(decrypted.failure.message) - expect(decrypted.data.metadata).toEqual(expected) -} - -async function encryptQueryTerm( - value: any, - queryType: 'steVecSelector' | 'steVecTerm' | 'searchableJson', - returnType: - | 'composite-literal' - | 'escaped-composite-literal' = 'composite-literal', -) { - const result = await protectClient.encryptQuery(value, { - column: table.metadata, - table: table, - queryType, - returnType, - }) - if (result.failure) throw new Error(result.failure.message) - return result.data -} - -beforeAll(async () => { - protectClient = await Encryption({ schemas: [table] }) - - await sql` - CREATE TABLE IF NOT EXISTS "protect-ci-jsonb-stack" ( - id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY, - metadata eql_v2_encrypted, - test_run_id TEXT - ) - ` -}, 30000) - -afterAll(async () => { - await sql`DELETE FROM "protect-ci-jsonb-stack" WHERE test_run_id = ${TEST_RUN_ID}` - await sql.end() -}, 30000) - -describe('searchableJson postgres integration', () => { - // ─── Storage: encrypt → insert → select → decrypt ────────────────── - - describe('storage: encrypt → insert → select → decrypt', () => { - it('round-trips a flat JSON object', async () => { - const plaintext = { user: { email: 'flat-rt@test.com' }, role: 'admin' } - const { id } = await insertRow(plaintext) - - const rows = await sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" - WHERE id = ${id} - ` - - expect(rows).toHaveLength(1) - await verifyRow(rows[0], plaintext) - }, 30000) - - it('round-trips nested JSON with arrays', async () => { - const plaintext = { - user: { - profile: { role: 'admin', permissions: ['read', 'write'] }, - tags: [{ name: 'vip' }, { name: 'beta' }], - }, - items: [{ id: 1, name: 'widget' }], - } - const { id } = await insertRow(plaintext) - - const rows = await sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" - WHERE id = ${id} - ` - - expect(rows).toHaveLength(1) - await verifyRow(rows[0], plaintext) - }, 30000) - - it('round-trips null values', async () => { - // stack's encrypt() public signature still excludes null from its - // JsPlaintext input; the runtime guard restored in #493 handles - // null as defense in depth, so the cast bypasses only the type - // narrowing — the runtime behavior under test is the same as - // protect's. - const encrypted = await protectClient.encrypt(null as any, { - column: table.metadata, - table: table, - }) - - if (encrypted.failure) throw new Error(encrypted.failure.message) - expect(encrypted.data).toBeNull() - - const [inserted] = await sql` - INSERT INTO "protect-ci-jsonb-stack" (metadata, test_run_id) - VALUES (NULL, ${TEST_RUN_ID}) - RETURNING id - ` - - const rows = await sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" - WHERE id = ${inserted.id} - ` - - expect(rows).toHaveLength(1) - expect(rows[0].metadata).toBeNull() - }, 30000) - }) - - // ─── jsonb_path_query: path-based selector queries ───────────────── - - describe('jsonb_path_query: path-based selector queries', () => { - it('finds row by simple top-level path ($.role)', async () => { - const plaintext = { role: 'path-toplevel-test', extra: 'data' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('finds row by nested path ($.user.email)', async () => { - const plaintext = { - user: { email: 'nested-path@test.com' }, - type: 'nested-path', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.user.email', - 'steVecSelector', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('finds row by deeply nested path ($.a.b.c)', async () => { - const plaintext = { a: { b: { c: 'deep-value' } }, marker: 'deep-path' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.a.b.c', 'steVecSelector') - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('non-matching path returns zero rows', async () => { - // Insert a doc that does NOT have $.nonexistent.path - const plaintext = { exists: true, marker: 'no-match-test' } - await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.nonexistent.path', - 'steVecSelector', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - // No row should have this path - expect(rows.length).toBe(0) - }, 30000) - - it('multiple docs — only matching doc returned', async () => { - // Insert two docs: one with $.target.value, one without - const plaintextWithPath = { - target: { value: 'found-it' }, - marker: 'has-target', - } - const plaintextWithoutPath = { - other: { key: 'nope' }, - marker: 'no-target', - } - - const { id: idWith } = await insertRow(plaintextWithPath) - const { id: idWithout } = await insertRow(plaintextWithoutPath) - - const selectorTerm = await encryptQueryTerm( - '$.target.value', - 'steVecSelector', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - // The doc with $.target.value should be found - const matchingRow = rows.find((r) => r.id === idWith) - expect(matchingRow).toBeDefined() - - // The doc without $.target.value should NOT be found - const nonMatchingRow = rows.find((r) => r.id === idWithout) - expect(nonMatchingRow).toBeUndefined() - - // Decrypt and verify the matching row - await verifyRow(matchingRow!, plaintextWithPath) - }, 30000) - - it('finds row by simple top-level path (Simple)', async () => { - const plaintext = { role: 'path-tl-simple', extra: 'data' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, '${selectorTerm}'::eql_v2_encrypted) as result - WHERE t.test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('finds row by nested path (Simple)', async () => { - const plaintext = { - user: { email: 'nested-simple@test.com' }, - type: 'nested-path-simple', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.user.email', - 'steVecSelector', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, '${selectorTerm}'::eql_v2_encrypted) as result - WHERE t.test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('finds with deep nested path (Simple)', async () => { - const plaintext = { - target: { nested: { value: 'deep-simple' } }, - marker: 'jpq-deep-simple', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.target.nested.value', - 'steVecSelector', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, '${selectorTerm}'::eql_v2_encrypted) as result - WHERE t.test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('non-matching path returns zero rows (Simple)', async () => { - const plaintext = { data: true, marker: 'jpq-nomatch-simple' } - await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.missing.path', - 'steVecSelector', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, '${selectorTerm}'::eql_v2_encrypted) as result - WHERE t.test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBe(0) - }, 30000) - }) - - // ─── Containment: @> term queries ────────────────────────────────── - - describe('containment: @> term queries', () => { - it('matches by key/value pair', async () => { - const plaintext = { role: 'admin-containment', department: 'engineering' } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { role: 'admin-containment' }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> ${containmentTerm}::eql_v2_encrypted - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('matches by nested object structure', async () => { - const plaintext = { - user: { profile: { role: 'superadmin' } }, - active: true, - } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { user: { profile: { role: 'superadmin' } } }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> ${containmentTerm}::eql_v2_encrypted - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('non-matching term returns zero rows', async () => { - const plaintext = { status: 'active', tier: 'free' } - await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { status: 'nonexistent-value-xyz' }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> ${containmentTerm}::eql_v2_encrypted - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBe(0) - }, 30000) - }) - - // ─── Mixed and batch operations ──────────────────────────────────── - - describe('mixed and batch operations', () => { - it('batch encrypts selector + containment terms together', async () => { - const plaintext = { - user: { email: 'batch@test.com' }, - role: 'editor', - kind: 'batch-mixed', - } - const { id } = await insertRow(plaintext) - - const queryResult = await protectClient.encryptQuery([ - { - value: '$.user.email', - column: table.metadata, - table: table, - queryType: 'steVecSelector', - returnType: 'composite-literal', - }, - { - value: { role: 'editor' }, - column: table.metadata, - table: table, - queryType: 'steVecTerm', - returnType: 'composite-literal', - }, - ]) - - if (queryResult.failure) throw new Error(queryResult.failure.message) - const [selectorTerm, containmentTerm] = queryResult.data - - // Selector query: jsonb_path_query - const selectorRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(selectorRows.length).toBeGreaterThanOrEqual(1) - const selectorMatch = selectorRows.find((r) => r.id === id) - expect(selectorMatch).toBeDefined() - await verifyRow(selectorMatch!, plaintext) - - // Containment query: @> - const containmentRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${containmentTerm}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - ` - - expect(containmentRows.length).toBeGreaterThanOrEqual(1) - const containmentMatch = containmentRows.find((r) => r.id === id) - expect(containmentMatch).toBeDefined() - await verifyRow(containmentMatch!, plaintext) - }, 30000) - - it('inferred vs explicit queryType produce same results', async () => { - const plaintext = { category: 'equivalence-test', priority: 'high' } - const { id } = await insertRow(plaintext) - - // Selector: inferred (searchableJson) vs explicit (steVecSelector) - const inferredSelectorTerm = await encryptQueryTerm( - '$.category', - 'searchableJson', - ) - const explicitSelectorTerm = await encryptQueryTerm( - '$.category', - 'steVecSelector', - ) - - const inferredRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${inferredSelectorTerm}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - const explicitRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${explicitSelectorTerm}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(inferredRows.length).toBe(explicitRows.length) - expect(inferredRows.length).toBeGreaterThanOrEqual(1) - - // Both should find our inserted row - const inferredMatch = inferredRows.find((r) => r.id === id) - const explicitMatch = explicitRows.find((r) => r.id === id) - expect(inferredMatch).toBeDefined() - expect(explicitMatch).toBeDefined() - - // Decrypt and compare — both should yield identical plaintext - const inferredDecrypted = await protectClient.decryptModel({ - metadata: inferredMatch!.metadata, - }) - const explicitDecrypted = await protectClient.decryptModel({ - metadata: explicitMatch!.metadata, - }) - if (inferredDecrypted.failure) - throw new Error(inferredDecrypted.failure.message) - if (explicitDecrypted.failure) - throw new Error(explicitDecrypted.failure.message) - - expect(inferredDecrypted.data.metadata).toEqual( - explicitDecrypted.data.metadata, - ) - expect(inferredDecrypted.data.metadata).toEqual(plaintext) - - // Containment: inferred (searchableJson) vs explicit (steVecTerm) - const inferredContainmentTerm = await encryptQueryTerm( - { category: 'equivalence-test' }, - 'searchableJson', - ) - const explicitContainmentTerm = await encryptQueryTerm( - { category: 'equivalence-test' }, - 'steVecTerm', - ) - - const inferredTermRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${inferredContainmentTerm}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - ` - - const explicitTermRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${explicitContainmentTerm}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - ` - - expect(inferredTermRows.length).toBe(explicitTermRows.length) - expect(inferredTermRows.length).toBeGreaterThanOrEqual(1) - - const inferredTermMatch = inferredTermRows.find((r) => r.id === id) - const explicitTermMatch = explicitTermRows.find((r) => r.id === id) - expect(inferredTermMatch).toBeDefined() - expect(explicitTermMatch).toBeDefined() - - const inferredTermDecrypted = await protectClient.decryptModel({ - metadata: inferredTermMatch!.metadata, - }) - const explicitTermDecrypted = await protectClient.decryptModel({ - metadata: explicitTermMatch!.metadata, - }) - if (inferredTermDecrypted.failure) - throw new Error(inferredTermDecrypted.failure.message) - if (explicitTermDecrypted.failure) - throw new Error(explicitTermDecrypted.failure.message) - - expect(inferredTermDecrypted.data.metadata).toEqual( - explicitTermDecrypted.data.metadata, - ) - expect(inferredTermDecrypted.data.metadata).toEqual(plaintext) - }, 30000) - }) - - // ─── Escaped-composite-literal format ───────────────────────────── - - describe('escaped-composite-literal format', () => { - it('escaped selector → unwrap → query PG', async () => { - const plaintext = { - user: { email: 'escaped-sel@test.com' }, - marker: 'escaped-selector', - } - const { id } = await insertRow(plaintext) - - // Encrypt with both formats - const compositeData = await encryptQueryTerm( - '$.user.email', - 'steVecSelector', - 'composite-literal', - ) - const escapedData = (await encryptQueryTerm( - '$.user.email', - 'steVecSelector', - 'escaped-composite-literal', - )) as string - - // Verify escaped format and unwrap - expect(typeof escapedData).toBe('string') - expect(escapedData).toMatch(/^"\(.*\)"$/) - const unwrapped = JSON.parse(escapedData) - - expect(unwrapped).toBe(compositeData) - - // Use composite-literal form to query PG - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${compositeData}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('escaped containment → unwrap → query PG', async () => { - const plaintext = { - role: 'escaped-containment-test', - department: 'security', - } - const { id } = await insertRow(plaintext) - - const escapedData = (await encryptQueryTerm( - { role: 'escaped-containment-test' }, - 'steVecTerm', - 'escaped-composite-literal', - )) as string - - // Verify escaped format and unwrap - expect(typeof escapedData).toBe('string') - expect(escapedData).toMatch(/^"\(.*\)"$/) - const unwrapped = JSON.parse(escapedData) - - // Unwrapped escaped format should be a valid composite-literal - expect(typeof unwrapped).toBe('string') - expect(unwrapped).toMatch(/^\(.*\)$/) - - // Use unwrapped composite-literal form to query PG - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${unwrapped}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('batch escaped format', async () => { - const plaintext = { - user: { email: 'batch-escaped@test.com' }, - role: 'batch-escaped-role', - marker: 'batch-escaped', - } - const { id } = await insertRow(plaintext) - - const queryResult = await protectClient.encryptQuery([ - { - value: '$.user.email', - column: table.metadata, - table: table, - queryType: 'steVecSelector', - returnType: 'escaped-composite-literal', - }, - { - value: { role: 'batch-escaped-role' }, - column: table.metadata, - table: table, - queryType: 'steVecTerm', - returnType: 'escaped-composite-literal', - }, - ]) - if (queryResult.failure) throw new Error(queryResult.failure.message) - - expect(queryResult.data).toHaveLength(2) - for (const item of queryResult.data) { - expect(typeof item).toBe('string') - expect(item).toMatch(/^"\(.*\)"$/) - } - - // Unwrap escaped format - const selectorUnwrapped = JSON.parse(queryResult.data[0] as string) - const containmentUnwrapped = JSON.parse(queryResult.data[1] as string) - - // Selector query - const selectorRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorUnwrapped}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(selectorRows.length).toBeGreaterThanOrEqual(1) - const selectorMatch = selectorRows.find((r) => r.id === id) - expect(selectorMatch).toBeDefined() - await verifyRow(selectorMatch!, plaintext) - - // Containment query - const containmentRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${containmentUnwrapped}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - ` - - expect(containmentRows.length).toBeGreaterThanOrEqual(1) - const containmentMatch = containmentRows.find((r) => r.id === id) - expect(containmentMatch).toBeDefined() - await verifyRow(containmentMatch!, plaintext) - }, 30000) - }) - - // ─── LockContext integration ────────────────────────────────────── - - describe.skipIf(!userJwt)('LockContext integration', () => { - it('selector with LockContext', async () => { - const lc = new LockContext() - const lockContext = await lc.identify(userJwt!) - if (lockContext.failure) throw new Error(lockContext.failure.message) - - const plaintext = { - user: { email: 'lc-selector@test.com' }, - marker: 'lock-context-selector', - } - - const encrypted = await protectClient - .encryptModel({ metadata: plaintext }, table) - .withLockContext(lockContext.data) - if (encrypted.failure) throw new Error(encrypted.failure.message) - - const [inserted] = await sql` - INSERT INTO "protect-ci-jsonb-stack" (metadata, test_run_id) - VALUES (${sql.json(encrypted.data.metadata)}::eql_v2_encrypted, ${TEST_RUN_ID}) - RETURNING id - ` - - const selectorResult = await protectClient - .encryptQuery('$.user.email', { - column: table.metadata, - table: table, - queryType: 'steVecSelector', - returnType: 'composite-literal', - }) - .withLockContext(lockContext.data) - .execute() - if (selectorResult.failure) - throw new Error(selectorResult.failure.message) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorResult.data}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === inserted.id) - expect(matchingRow).toBeDefined() - - const decrypted = await protectClient - .decryptModel({ metadata: matchingRow!.metadata }) - .withLockContext(lockContext.data) - if (decrypted.failure) throw new Error(decrypted.failure.message) - expect(decrypted.data.metadata).toEqual(plaintext) - }, 60000) - - it('containment with LockContext', async () => { - const lc = new LockContext() - const lockContext = await lc.identify(userJwt!) - if (lockContext.failure) throw new Error(lockContext.failure.message) - - const plaintext = { role: 'lc-containment-test', department: 'auth' } - - const encrypted = await protectClient - .encryptModel({ metadata: plaintext }, table) - .withLockContext(lockContext.data) - if (encrypted.failure) throw new Error(encrypted.failure.message) - - const [inserted] = await sql` - INSERT INTO "protect-ci-jsonb-stack" (metadata, test_run_id) - VALUES (${sql.json(encrypted.data.metadata)}::eql_v2_encrypted, ${TEST_RUN_ID}) - RETURNING id - ` - - const containmentResult = await protectClient - .encryptQuery( - { role: 'lc-containment-test' }, - { - column: table.metadata, - table: table, - queryType: 'steVecTerm', - returnType: 'composite-literal', - }, - ) - .withLockContext(lockContext.data) - .execute() - if (containmentResult.failure) - throw new Error(containmentResult.failure.message) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${containmentResult.data}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === inserted.id) - expect(matchingRow).toBeDefined() - - const decrypted = await protectClient - .decryptModel({ metadata: matchingRow!.metadata }) - .withLockContext(lockContext.data) - if (decrypted.failure) throw new Error(decrypted.failure.message) - expect(decrypted.data.metadata).toEqual(plaintext) - }, 60000) - - it('batch with LockContext', async () => { - const lc = new LockContext() - const lockContext = await lc.identify(userJwt!) - if (lockContext.failure) throw new Error(lockContext.failure.message) - - const plaintext = { - user: { email: 'lc-batch@test.com' }, - role: 'lc-batch-role', - kind: 'lock-context-batch', - } - - const encrypted = await protectClient - .encryptModel({ metadata: plaintext }, table) - .withLockContext(lockContext.data) - if (encrypted.failure) throw new Error(encrypted.failure.message) - - const [inserted] = await sql` - INSERT INTO "protect-ci-jsonb-stack" (metadata, test_run_id) - VALUES (${sql.json(encrypted.data.metadata)}::eql_v2_encrypted, ${TEST_RUN_ID}) - RETURNING id - ` - - const batchResult = await protectClient - .encryptQuery([ - { - value: '$.user.email', - column: table.metadata, - table: table, - queryType: 'steVecSelector', - returnType: 'composite-literal', - }, - { - value: { role: 'lc-batch-role' }, - column: table.metadata, - table: table, - queryType: 'steVecTerm', - returnType: 'composite-literal', - }, - ]) - .withLockContext(lockContext.data) - .execute() - if (batchResult.failure) throw new Error(batchResult.failure.message) - - const [selectorTerm, containmentTerm] = batchResult.data - - // Selector query - const selectorRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(selectorRows.length).toBeGreaterThanOrEqual(1) - const selectorMatch = selectorRows.find((r) => r.id === inserted.id) - expect(selectorMatch).toBeDefined() - - const selectorDecrypted = await protectClient - .decryptModel({ metadata: selectorMatch!.metadata }) - .withLockContext(lockContext.data) - if (selectorDecrypted.failure) - throw new Error(selectorDecrypted.failure.message) - expect(selectorDecrypted.data.metadata).toEqual(plaintext) - - // Containment query - const containmentRows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${containmentTerm}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - ` - - expect(containmentRows.length).toBeGreaterThanOrEqual(1) - const containmentMatch = containmentRows.find((r) => r.id === inserted.id) - expect(containmentMatch).toBeDefined() - - const containmentDecrypted = await protectClient - .decryptModel({ metadata: containmentMatch!.metadata }) - .withLockContext(lockContext.data) - if (containmentDecrypted.failure) - throw new Error(containmentDecrypted.failure.message) - expect(containmentDecrypted.data.metadata).toEqual(plaintext) - }, 60000) - }) - - // ─── Concurrent query operations ───────────────────────────────── - - describe('concurrent query operations', () => { - it('parallel selector queries', async () => { - // Insert 3 docs with distinct structures - const docs = [ - { alpha: { key: 'concurrent-sel-1' }, marker: 'concurrent-1' }, - { beta: { key: 'concurrent-sel-2' }, marker: 'concurrent-2' }, - { gamma: { key: 'concurrent-sel-3' }, marker: 'concurrent-3' }, - ] - - const insertedIds: number[] = [] - for (const plaintext of docs) { - const { id } = await insertRow(plaintext) - insertedIds.push(id) - } - - // Parallel encrypt 3 selector queries - const [q1, q2, q3] = await Promise.all([ - protectClient.encryptQuery('$.alpha.key', { - column: table.metadata, - table: table, - queryType: 'steVecSelector', - returnType: 'composite-literal', - }), - protectClient.encryptQuery('$.beta.key', { - column: table.metadata, - table: table, - queryType: 'steVecSelector', - returnType: 'composite-literal', - }), - protectClient.encryptQuery('$.gamma.key', { - column: table.metadata, - table: table, - queryType: 'steVecSelector', - returnType: 'composite-literal', - }), - ]) - - if (q1.failure) throw new Error(q1.failure.message) - if (q2.failure) throw new Error(q2.failure.message) - if (q3.failure) throw new Error(q3.failure.message) - - // Execute each against PG - const [rows1, rows2, rows3] = await Promise.all([ - sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${q1.data}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - `, - sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${q2.data}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - `, - sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${q3.data}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - `, - ]) - - // Each query should find its respective doc and not others - expect(rows1.find((r) => r.id === insertedIds[0])).toBeDefined() - expect(rows1.find((r) => r.id === insertedIds[1])).toBeUndefined() - expect(rows1.find((r) => r.id === insertedIds[2])).toBeUndefined() - expect(rows2.find((r) => r.id === insertedIds[1])).toBeDefined() - expect(rows2.find((r) => r.id === insertedIds[0])).toBeUndefined() - expect(rows2.find((r) => r.id === insertedIds[2])).toBeUndefined() - expect(rows3.find((r) => r.id === insertedIds[2])).toBeDefined() - expect(rows3.find((r) => r.id === insertedIds[0])).toBeUndefined() - expect(rows3.find((r) => r.id === insertedIds[1])).toBeUndefined() - - // Decrypt and validate each matched row - const match1 = rows1.find((r) => r.id === insertedIds[0])! - const decrypted1 = await protectClient.decryptModel({ - metadata: match1.metadata, - }) - if (decrypted1.failure) throw new Error(decrypted1.failure.message) - expect(decrypted1.data.metadata).toEqual(docs[0]) - - const match2 = rows2.find((r) => r.id === insertedIds[1])! - const decrypted2 = await protectClient.decryptModel({ - metadata: match2.metadata, - }) - if (decrypted2.failure) throw new Error(decrypted2.failure.message) - expect(decrypted2.data.metadata).toEqual(docs[1]) - - const match3 = rows3.find((r) => r.id === insertedIds[2])! - const decrypted3 = await protectClient.decryptModel({ - metadata: match3.metadata, - }) - if (decrypted3.failure) throw new Error(decrypted3.failure.message) - expect(decrypted3.data.metadata).toEqual(docs[2]) - }, 60000) - - it('parallel containment queries', async () => { - const docs = [ - { role: 'concurrent-contain-1', tier: 'gold' }, - { role: 'concurrent-contain-2', tier: 'silver' }, - ] - - const insertedIds: number[] = [] - for (const plaintext of docs) { - const { id } = await insertRow(plaintext) - insertedIds.push(id) - } - - // Parallel encrypt 2 containment queries - const [c1, c2] = await Promise.all([ - protectClient.encryptQuery( - { role: 'concurrent-contain-1' }, - { - column: table.metadata, - table: table, - queryType: 'steVecTerm', - returnType: 'composite-literal', - }, - ), - protectClient.encryptQuery( - { role: 'concurrent-contain-2' }, - { - column: table.metadata, - table: table, - queryType: 'steVecTerm', - returnType: 'composite-literal', - }, - ), - ]) - - if (c1.failure) throw new Error(c1.failure.message) - if (c2.failure) throw new Error(c2.failure.message) - - const [rows1, rows2] = await Promise.all([ - sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${c1.data}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - `, - sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${c2.data}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - `, - ]) - - // Each finds only its target doc - expect(rows1.find((r) => r.id === insertedIds[0])).toBeDefined() - expect(rows1.find((r) => r.id === insertedIds[1])).toBeUndefined() - expect(rows2.find((r) => r.id === insertedIds[1])).toBeDefined() - expect(rows2.find((r) => r.id === insertedIds[0])).toBeUndefined() - - // Decrypt and validate each matched row - const match1 = rows1.find((r) => r.id === insertedIds[0])! - const decrypted1 = await protectClient.decryptModel({ - metadata: match1.metadata, - }) - if (decrypted1.failure) throw new Error(decrypted1.failure.message) - expect(decrypted1.data.metadata).toEqual(docs[0]) - - const match2 = rows2.find((r) => r.id === insertedIds[1])! - const decrypted2 = await protectClient.decryptModel({ - metadata: match2.metadata, - }) - if (decrypted2.failure) throw new Error(decrypted2.failure.message) - expect(decrypted2.data.metadata).toEqual(docs[1]) - }, 60000) - - it('parallel mixed encrypt+query', async () => { - const plaintext = { - user: { email: 'concurrent-mixed@test.com' }, - role: 'concurrent-mixed-role', - kind: 'mixed-concurrent', - } - - // Parallel: encryptModel + selector encryptQuery + containment encryptQuery - const [encryptedModel, selectorResult, containmentResult] = - await Promise.all([ - protectClient.encryptModel({ metadata: plaintext }, table), - protectClient.encryptQuery('$.user.email', { - column: table.metadata, - table: table, - queryType: 'steVecSelector', - returnType: 'composite-literal', - }), - protectClient.encryptQuery( - { role: 'concurrent-mixed-role' }, - { - column: table.metadata, - table: table, - queryType: 'steVecTerm', - returnType: 'composite-literal', - }, - ), - ]) - - if (encryptedModel.failure) - throw new Error(encryptedModel.failure.message) - if (selectorResult.failure) - throw new Error(selectorResult.failure.message) - if (containmentResult.failure) - throw new Error(containmentResult.failure.message) - - // Insert the encrypted doc - const [inserted] = await sql` - INSERT INTO "protect-ci-jsonb-stack" (metadata, test_run_id) - VALUES (${sql.json(encryptedModel.data.metadata)}::eql_v2_encrypted, ${TEST_RUN_ID}) - RETURNING id - ` - - // Query with both terms - const [selectorRows, containmentRows] = await Promise.all([ - sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorResult.data}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - `, - sql` - SELECT id, (metadata).data as metadata FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${containmentResult.data}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - `, - ]) - - // Both should find the inserted row - expect(selectorRows.find((r) => r.id === inserted.id)).toBeDefined() - expect(containmentRows.find((r) => r.id === inserted.id)).toBeDefined() - // Verify result sets are bounded (not returning all rows) - expect(selectorRows.length).toBeGreaterThanOrEqual(1) - expect(containmentRows.length).toBeGreaterThanOrEqual(1) - - // Decrypt and validate both matched rows - const selectorMatch = selectorRows.find((r) => r.id === inserted.id)! - const selectorDecrypted = await protectClient.decryptModel({ - metadata: selectorMatch.metadata, - }) - if (selectorDecrypted.failure) - throw new Error(selectorDecrypted.failure.message) - expect(selectorDecrypted.data.metadata).toEqual(plaintext) - - const containmentMatch = containmentRows.find( - (r) => r.id === inserted.id, - )! - const containmentDecrypted = await protectClient.decryptModel({ - metadata: containmentMatch.metadata, - }) - if (containmentDecrypted.failure) - throw new Error(containmentDecrypted.failure.message) - expect(containmentDecrypted.data.metadata).toEqual(plaintext) - }, 60000) - }) - - // ─── Contained-by: <@ term queries ──────────────────────────────── - - describe('contained-by: <@ term queries', () => { - it('matches by key/value pair (Extended)', async () => { - const plaintext = { role: 'contained-by-kv', department: 'eng' } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { role: 'contained-by-kv' }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE ${containmentTerm}::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('matches by nested object (Extended)', async () => { - const plaintext = { - user: { profile: { role: 'contained-by-nested' } }, - active: true, - } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { user: { profile: { role: 'contained-by-nested' } } }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE ${containmentTerm}::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('non-matching value returns zero rows (Extended)', async () => { - const plaintext = { status: 'active-cb', tier: 'free' } - await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { status: 'nonexistent-cb-xyz' }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE ${containmentTerm}::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBe(0) - }, 30000) - - it('matches by key/value pair (Simple)', async () => { - const plaintext = { role: 'contained-by-kv-simple', department: 'ops' } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { role: 'contained-by-kv-simple' }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE $1::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('matches by nested object (Simple)', async () => { - const plaintext = { - user: { profile: { role: 'contained-by-nested-simple' } }, - active: true, - } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { user: { profile: { role: 'contained-by-nested-simple' } } }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE $1::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('non-matching value returns zero rows (Simple)', async () => { - const plaintext = { status: 'active-cb-simple', tier: 'premium' } - await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { status: 'nonexistent-cb-simple-xyz' }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE $1::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBe(0) - }, 30000) - }) - - // ─── jsonb_path_query_first: scalar path queries ────────────────── - - describe('jsonb_path_query_first: scalar path queries', () => { - it('finds row by string field (Extended)', async () => { - const plaintext = { role: 'qf-string', extra: 'data' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_query_first(t.metadata, ${selectorTerm}::eql_v2_encrypted) IS NOT NULL - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('finds row by nested path (Extended)', async () => { - const plaintext = { - user: { email: 'qf-nested@test.com' }, - type: 'qf-nested', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.user.email', - 'steVecSelector', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_query_first(t.metadata, ${selectorTerm}::eql_v2_encrypted) IS NOT NULL - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('returns no rows for unknown path (Extended)', async () => { - const plaintext = { exists: true, marker: 'qf-nomatch' } - await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.nonexistent.path', - 'steVecSelector', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_query_first(t.metadata, ${selectorTerm}::eql_v2_encrypted) IS NOT NULL - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBe(0) - }, 30000) - - it('finds row by string field (Simple)', async () => { - const plaintext = { role: 'qf-string-simple', extra: 'data' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_query_first(t.metadata, '${selectorTerm}'::eql_v2_encrypted) IS NOT NULL - AND t.test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('finds row by nested path (Simple)', async () => { - const plaintext = { - user: { email: 'qf-nested-simple@test.com' }, - type: 'qf-nested-simple', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.user.email', - 'steVecSelector', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_query_first(t.metadata, '${selectorTerm}'::eql_v2_encrypted) IS NOT NULL - AND t.test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('returns no rows for unknown path (Simple)', async () => { - const plaintext = { exists: true, marker: 'qf-nomatch-simple' } - await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.nonexistent.path', - 'steVecSelector', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_query_first(t.metadata, '${selectorTerm}'::eql_v2_encrypted) IS NOT NULL - AND t.test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBe(0) - }, 30000) - }) - - // ─── jsonb_path_exists: boolean path queries ────────────────────── - - describe('jsonb_path_exists: boolean path queries', () => { - it('returns true for existing field (Extended)', async () => { - const plaintext = { role: 'pe-exists', extra: 'data' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_exists(t.metadata, ${selectorTerm}::eql_v2_encrypted) - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('returns true for nested path (Extended)', async () => { - const plaintext = { - user: { email: 'pe-nested@test.com' }, - type: 'pe-nested', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.user.email', - 'steVecSelector', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_exists(t.metadata, ${selectorTerm}::eql_v2_encrypted) - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('returns false for unknown path (Extended)', async () => { - const plaintext = { exists: true, marker: 'pe-nomatch' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.nonexistent.path', - 'steVecSelector', - ) - - const rows = await sql` - SELECT id, eql_v2.jsonb_path_exists(t.metadata, ${selectorTerm}::eql_v2_encrypted) as path_exists - FROM "protect-ci-jsonb-stack" t - WHERE t.id = ${id} - ` - - expect(rows).toHaveLength(1) - expect(rows[0].path_exists).toBe(false) - }, 30000) - - it('returns true for existing field (Simple)', async () => { - const plaintext = { role: 'pe-exists-simple', extra: 'data' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_exists(t.metadata, '${selectorTerm}'::eql_v2_encrypted) - AND test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('returns true for nested path (Simple)', async () => { - const plaintext = { - user: { email: 'pe-nested-simple@test.com' }, - type: 'pe-nested-simple', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.user.email', - 'steVecSelector', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_exists(t.metadata, '${selectorTerm}'::eql_v2_encrypted) - AND test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('returns false for unknown path (Simple)', async () => { - const plaintext = { exists: true, marker: 'pe-nomatch-simple' } - await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.nonexistent.path', - 'steVecSelector', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE eql_v2.jsonb_path_exists(t.metadata, '${selectorTerm}'::eql_v2_encrypted) - AND test_run_id = '${TEST_RUN_ID}'`, - ) - - expect(rows.length).toBe(0) - }, 30000) - }) - - describe('jsonb_array_elements + jsonb_array_length: array queries', () => { - it('returns null length for missing path (Extended)', async () => { - const plaintext = { exists: true, marker: 'al-nomatch' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.nonexistent', - 'steVecSelector', - ) - - const rows = await sql` - SELECT t.id, - eql_v2.jsonb_array_length( - eql_v2.jsonb_path_query_first(t.metadata, ${selectorTerm}::eql_v2_encrypted) - ) as arr_len - FROM "protect-ci-jsonb-stack" t - WHERE t.id = ${id} - ` - - expect(rows).toHaveLength(1) - expect(rows[0].arr_len).toBeNull() - - const dataRows = await sql` - SELECT (metadata).data as metadata FROM "protect-ci-jsonb-stack" t WHERE t.id = ${id} - ` - expect(dataRows).toHaveLength(1) - await verifyRow(dataRows[0], plaintext) - }, 30000) - - // [@] notation (proxy convention) produces the selector hash matching is_array=true STE vec entries. - // EQL v2.3: walk the raw sv array on the jsonb payload so each element is a plain jsonb object - // (not the wrapped eql_v2_encrypted composite — its `.data` notation only works inside the function). - it('[@] selector matches is_array=true entries in STE vec', async () => { - const plaintext = { colors: ['a', 'b'], marker: 'diag-sv' } - const { id } = await insertRow(plaintext) - - const entries = await sql` - SELECT - elem->>'s' as selector, - (elem->>'a')::boolean as is_array - FROM "protect-ci-jsonb-stack" t, - LATERAL jsonb_array_elements((t.metadata).data -> 'sv') AS elem - WHERE t.id = ${id} - ` - - const arrayEntries = entries.filter((e: any) => e.is_array === true) - expect(arrayEntries.length).toBeGreaterThan(0) - - const selectorAt = await encryptQueryTerm('$.colors[@]', 'steVecSelector') - const hashAt = await sql` - SELECT (${selectorAt}::eql_v2_encrypted).data->>'s' as s - ` - - expect(hashAt[0].s).toBe(arrayEntries[0].selector) - }, 30000) - - // EQL v2.3: `jsonb_path_query_first` returns at most one sv entry (LIMIT 1) — counting / expanding - // uses `jsonb_path_query`, which aggregates matching array entries into a single row whose `data` - // carries `sv: [...]` + `a: 1`. `jsonb_array_length` / `jsonb_array_elements` walk that inner sv. - it('returns correct length for known array (Extended)', async () => { - const plaintext = { colors: ['a', 'b', 'c', 'd'], marker: 'al-known' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.colors[@]', - 'steVecSelector', - ) - - const rows = await sql` - SELECT eql_v2.jsonb_array_length(elem) AS arr_len - FROM "protect-ci-jsonb-stack" t, - LATERAL eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) AS elem - WHERE t.id = ${id} - ` - - expect(rows).toHaveLength(1) - expect(rows[0].arr_len).toBe(4) - - const dataRows = await sql` - SELECT (metadata).data as metadata FROM "protect-ci-jsonb-stack" t WHERE t.id = ${id} - ` - expect(dataRows).toHaveLength(1) - await verifyRow(dataRows[0], plaintext) - }, 30000) - - it('returns correct length for known array (Simple)', async () => { - const plaintext = { colors: ['x', 'y', 'z'], marker: 'al-known-s' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.colors[@]', - 'steVecSelector', - ) - - const rows = await sql.unsafe( - `SELECT eql_v2.jsonb_array_length(elem) AS arr_len - FROM "protect-ci-jsonb-stack" t, - LATERAL eql_v2.jsonb_path_query(t.metadata, $1::eql_v2_encrypted) AS elem - WHERE t.id = $2`, - [selectorTerm, id], - ) - - expect(rows).toHaveLength(1) - expect(rows[0].arr_len).toBe(3) - - const dataRows = await sql.unsafe( - `SELECT (metadata).data as metadata FROM "protect-ci-jsonb-stack" t WHERE t.id = $1`, - [id], - ) - expect(dataRows).toHaveLength(1) - await verifyRow(dataRows[0], plaintext) - }, 30000) - - it('expands array via jsonb_array_elements (Extended)', async () => { - const plaintext = { tags: ['ae-a', 'ae-b', 'ae-c'], marker: 'ae-expand' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.tags[@]', 'steVecSelector') - - const rows = await sql` - SELECT eql_v2.jsonb_array_elements(elem) AS item - FROM "protect-ci-jsonb-stack" t, - LATERAL eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) AS elem - WHERE t.id = ${id} - ` - - expect(rows).toHaveLength(3) - - const dataRows = await sql` - SELECT (metadata).data as metadata FROM "protect-ci-jsonb-stack" t WHERE t.id = ${id} - ` - expect(dataRows).toHaveLength(1) - await verifyRow(dataRows[0], plaintext) - }, 30000) - - it('expands array via jsonb_array_elements (Simple)', async () => { - const plaintext = { - tags: ['ae-s-a', 'ae-s-b', 'ae-s-c'], - marker: 'ae-expand-s', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.tags[@]', 'steVecSelector') - - const rows = await sql.unsafe( - `SELECT eql_v2.jsonb_array_elements(elem) AS item - FROM "protect-ci-jsonb-stack" t, - LATERAL eql_v2.jsonb_path_query(t.metadata, $1::eql_v2_encrypted) AS elem - WHERE t.id = $2`, - [selectorTerm, id], - ) - - expect(rows).toHaveLength(3) - - const dataRows = await sql.unsafe( - `SELECT (metadata).data as metadata FROM "protect-ci-jsonb-stack" t WHERE t.id = $1`, - [id], - ) - expect(dataRows).toHaveLength(1) - await verifyRow(dataRows[0], plaintext) - }, 30000) - }) - - describe('containment: @> with array values', () => { - it('matches array subset (Extended)', async () => { - const plaintext = { - tags: ['ac-alpha', 'ac-beta', 'ac-gamma'], - marker: 'ac-subset', - } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { tags: ['ac-alpha'] }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> ${containmentTerm}::eql_v2_encrypted - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('non-matching array value returns no rows (Extended)', async () => { - const plaintext = { tags: ['ac-exist'], marker: 'ac-nomatch' } - await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { tags: ['ac-nonexistent'] }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> ${containmentTerm}::eql_v2_encrypted - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBe(0) - }, 30000) - - it('matches array subset (Simple)', async () => { - const plaintext = { - tags: ['ac-simple-x', 'ac-simple-y'], - marker: 'ac-simple', - } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { tags: ['ac-simple-x'] }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> $1::eql_v2_encrypted - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('non-matching array value returns no rows (Simple)', async () => { - const plaintext = { tags: ['ac-s-exist'], marker: 'ac-s-nomatch' } - await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { tags: ['ac-s-absent'] }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> $1::eql_v2_encrypted - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBe(0) - }, 30000) - - it('matches nested array subset (Extended)', async () => { - const plaintext = { - user: { roles: ['ac-nested-admin', 'ac-nested-editor'] }, - marker: 'ac-nested', - } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { user: { roles: ['ac-nested-admin'] } }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> ${containmentTerm}::eql_v2_encrypted - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - }) - - describe('contained-by: <@ with array values', () => { - it('matches array superset (Extended)', async () => { - const plaintext = { - tags: ['cb-one', 'cb-two', 'cb-three'], - marker: 'cb-superset', - } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { tags: ['cb-one'] }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE ${containmentTerm}::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('non-matching array returns no rows (Extended)', async () => { - const plaintext = { tags: ['cb-exist'], marker: 'cb-nomatch' } - await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { tags: ['cb-absent'] }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE ${containmentTerm}::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBe(0) - }, 30000) - - it('matches array superset (Simple)', async () => { - const plaintext = { tags: ['cb-s-one', 'cb-s-two'], marker: 'cb-s-super' } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { tags: ['cb-s-one'] }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE $1::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('non-matching array returns no rows (Simple)', async () => { - const plaintext = { tags: ['cb-s-exist'], marker: 'cb-s-nomatch' } - await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { tags: ['cb-s-absent'] }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE $1::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBe(0) - }, 30000) - }) - - describe('storage: array round-trips (gaps only)', () => { - it('round-trips object with empty string array', async () => { - const plaintext = { tags: [], marker: 'rt-empty-string-arr' } - const { id } = await insertRow(plaintext) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.id = ${id} - ` - - expect(rows).toHaveLength(1) - await verifyRow(rows[0], plaintext) - }, 30000) - - it('round-trips nested empty object array', async () => { - const plaintext = { data: { items: [] }, marker: 'rt-empty-obj-arr' } - const { id } = await insertRow(plaintext) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.id = ${id} - ` - - expect(rows).toHaveLength(1) - await verifyRow(rows[0], plaintext) - }, 30000) - }) - - // ─── Containment: operand and protocol matrix ────────────────────── - - describe('containment: operand and protocol matrix', () => { - it('@> matches key/value (Simple)', async () => { - const plaintext = { role: 'cm-admin-s', dept: 'cm-eng-s' } - const { id } = await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { role: 'cm-admin-s' }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> $1::eql_v2_encrypted - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('@> non-matching returns no rows (Simple)', async () => { - const plaintext = { role: 'cm-exist-s' } - await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { role: 'cm-nope-s' }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.metadata @> $1::eql_v2_encrypted - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBe(0) - }, 30000) - - it('term <@ column matches subset (Extended)', async () => { - const plaintext = { role: 'cm-sub', marker: 'cm-sub-marker' } - const { id } = await insertRow(plaintext) - - // Query term is a SUBSET of the stored data - const containmentTerm = await encryptQueryTerm( - { role: 'cm-sub' }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE ${containmentTerm}::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('term <@ column non-matching (Extended)', async () => { - const plaintext = { role: 'cm-sub-x' } - await insertRow(plaintext) - - const containmentTerm = await encryptQueryTerm( - { role: 'cm-sub-miss' }, - 'steVecTerm', - ) - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE ${containmentTerm}::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBe(0) - }, 30000) - - it('term <@ column matches subset (Simple)', async () => { - const plaintext = { role: 'cm-sub-s', marker: 'cm-sub-s-marker' } - const { id } = await insertRow(plaintext) - - // Query term is a SUBSET of the stored data - const containmentTerm = await encryptQueryTerm( - { role: 'cm-sub-s' }, - 'steVecTerm', - ) - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE $1::eql_v2_encrypted <@ t.metadata - AND t.test_run_id = $2`, - [containmentTerm, TEST_RUN_ID], - ) - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r: any) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - }) - - // ─── Field access: -> operator ───────────────────────────────────── - - describe('field access: -> operator', () => { - it('extracts field by encrypted selector (Extended)', async () => { - const plaintext = { - role: 'fa-enc', - dept: 'fa-dept', - marker: 'fa-enc-sel', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql` - SELECT t.metadata -> ${selectorTerm}::eql_v2_encrypted as extracted - FROM "protect-ci-jsonb-stack" t - WHERE t.id = ${id} - ` - - expect(rows).toHaveLength(1) - expect(rows[0].extracted).not.toBeNull() - - const fullRows = await sql` - SELECT (metadata).data as metadata FROM "protect-ci-jsonb-stack" t WHERE t.id = ${id} - ` - await verifyRow(fullRows[0], plaintext) - }, 30000) - - it('extracts field by encrypted selector (Simple)', async () => { - const plaintext = { - role: 'fa-enc-s', - dept: 'fa-dept-s', - marker: 'fa-enc-sel-s', - } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql.unsafe( - `SELECT t.metadata -> $1::eql_v2_encrypted as extracted - FROM "protect-ci-jsonb-stack" t - WHERE t.id = $2`, - [selectorTerm, id], - ) - - expect(rows).toHaveLength(1) - expect(rows[0].extracted).not.toBeNull() - - const fullRows = await sql` - SELECT (metadata).data as metadata FROM "protect-ci-jsonb-stack" t WHERE t.id = ${id} - ` - await verifyRow(fullRows[0], plaintext) - }, 30000) - - it('returns null for non-existent field (Extended)', async () => { - const plaintext = { role: 'fa-null', marker: 'fa-null-marker' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm( - '$.nonexistent', - 'steVecSelector', - ) - - const rows = await sql` - SELECT t.metadata -> ${selectorTerm}::eql_v2_encrypted as extracted - FROM "protect-ci-jsonb-stack" t - WHERE t.id = ${id} - ` - - expect(rows).toHaveLength(1) - expect(rows[0].extracted).toBeNull() - }, 30000) - - it('extracted field can be round-tripped (Extended)', async () => { - const plaintext = { - role: 'fa-roundtrip', - dept: 'fa-rt-dept', - marker: 'fa-rt-marker', - } - const { id } = await insertRow(plaintext) - - // Extract the role field via -> operator - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql` - SELECT t.metadata -> ${selectorTerm}::eql_v2_encrypted as extracted, - (t.metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE t.id = ${id} - ` - - expect(rows).toHaveLength(1) - expect(rows[0].extracted).not.toBeNull() - - // Decrypt the full document and verify the extracted field matches - await verifyRow(rows[0], plaintext) - }, 30000) - }) - - // ─── WHERE comparison: = equality ────────────────────────────────── - - // EQL v2.3: `=` on `eql_v2_encrypted` reduces to `hmac_256(a) = hmac_256(b)` and silently - // returns 0 rows when either side lacks `hm` (previously raised). For sv-element equality on - // oc-bearing selectors (strings / numbers), cast the extracted entry to `eql_v2.ste_vec_entry` - // — that operator is XOR-aware over `hm`/`oc` via `eq_term`. - describe('WHERE comparison: = equality (sv-element via ste_vec_entry)', () => { - it('jsonb_path_query_first = self-comparison (Extended)', async () => { - const plaintext = { role: 'eq-jpqf', marker: 'eq-jpqf-marker' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE (eql_v2.jsonb_path_query_first(t.metadata, ${selectorTerm}::eql_v2_encrypted)).data::eql_v2.ste_vec_entry - = (eql_v2.jsonb_path_query_first(t.metadata, ${selectorTerm}::eql_v2_encrypted)).data::eql_v2.ste_vec_entry - AND t.id = ${id} - ` - - expect(rows).toHaveLength(1) - await verifyRow(rows[0], plaintext) - }, 30000) - - it('jsonb_path_query_first = self-comparison (Simple)', async () => { - const plaintext = { role: 'eq-jpqf-s', marker: 'eq-jpqf-s-marker' } - const { id } = await insertRow(plaintext) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql.unsafe( - `SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t - WHERE (eql_v2.jsonb_path_query_first(t.metadata, $1::eql_v2_encrypted)).data::eql_v2.ste_vec_entry - = (eql_v2.jsonb_path_query_first(t.metadata, $1::eql_v2_encrypted)).data::eql_v2.ste_vec_entry - AND t.id = $2`, - [selectorTerm, id], - ) - - expect(rows).toHaveLength(1) - await verifyRow(rows[0], plaintext) - }, 30000) - - it('equality across two documents with same plaintext matches both', async () => { - const doc1 = { role: 'eq-cross-same', dept: 'eq-cross-d1' } - const doc2 = { role: 'eq-cross-same', dept: 'eq-cross-d2' } - - const { id: id1 } = await insertRow(doc1) - const { id: id2 } = await insertRow(doc2) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql` - SELECT a.id as id_a, b.id as id_b - FROM "protect-ci-jsonb-stack" a, "protect-ci-jsonb-stack" b - WHERE (eql_v2.jsonb_path_query_first(a.metadata, ${selectorTerm}::eql_v2_encrypted)).data::eql_v2.ste_vec_entry - = (eql_v2.jsonb_path_query_first(b.metadata, ${selectorTerm}::eql_v2_encrypted)).data::eql_v2.ste_vec_entry - AND a.id = ${id1} - AND b.id = ${id2} - ` - - expect(rows).toHaveLength(1) - expect(rows[0]).toMatchObject({ id_a: id1, id_b: id2 }) - }, 30000) - - it('equality across two documents with different plaintext returns empty', async () => { - const doc1 = { role: 'eq-cross-mismatch-1', marker: 'eq-mm-1' } - const doc2 = { role: 'eq-cross-mismatch-2', marker: 'eq-mm-2' } - - const { id: id1 } = await insertRow(doc1) - const { id: id2 } = await insertRow(doc2) - - const selectorTerm = await encryptQueryTerm('$.role', 'steVecSelector') - - const rows = await sql` - SELECT a.id as id_a, b.id as id_b - FROM "protect-ci-jsonb-stack" a, "protect-ci-jsonb-stack" b - WHERE (eql_v2.jsonb_path_query_first(a.metadata, ${selectorTerm}::eql_v2_encrypted)).data::eql_v2.ste_vec_entry - = (eql_v2.jsonb_path_query_first(b.metadata, ${selectorTerm}::eql_v2_encrypted)).data::eql_v2.ste_vec_entry - AND a.id = ${id1} - AND b.id = ${id2} - ` - - expect(rows).toHaveLength(0) - }, 30000) - }) - - // ─── eql (default) return type ────────────────────────────────────── - - describe('eql (default) return type', () => { - it('selector query using raw eql return type', async () => { - const plaintext = { - user: { email: 'eql-raw-sel@test.com' }, - marker: 'eql-raw-sel', - } - const { id } = await insertRow(plaintext) - - // Omit returnType — single-value encryptQuery returns raw Encrypted object - const queryResult = await protectClient.encryptQuery('$.user.email', { - column: table.metadata, - table: table, - queryType: 'steVecSelector', - }) - if (queryResult.failure) throw new Error(queryResult.failure.message) - const rawResult = queryResult.data - - // Must use sql.json() to pass raw Encrypted object to PG - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${sql.json(rawResult)}::eql_v2_encrypted) as result - WHERE t.test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - - it('containment query using raw eql return type', async () => { - const plaintext = { role: 'eql-raw-contain', marker: 'eql-raw-ct' } - const { id } = await insertRow(plaintext) - - // Omit returnType — single-value encryptQuery returns raw Encrypted object - const queryResult = await protectClient.encryptQuery( - { role: 'eql-raw-contain' }, - { - column: table.metadata, - table: table, - queryType: 'steVecTerm', - }, - ) - if (queryResult.failure) throw new Error(queryResult.failure.message) - const rawResult = queryResult.data - - // Must use sql.json() to pass raw Encrypted object to PG - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" - WHERE metadata @> ${sql.json(rawResult)}::eql_v2_encrypted - AND test_run_id = ${TEST_RUN_ID} - ` - - expect(rows.length).toBeGreaterThanOrEqual(1) - const matchingRow = rows.find((r) => r.id === id) - expect(matchingRow).toBeDefined() - await verifyRow(matchingRow!, plaintext) - }, 30000) - }) - - // ─── Concurrent encrypt + decrypt stress ──────────────────────────── - - describe('concurrent encrypt + decrypt stress', () => { - it('concurrent encrypt + decrypt stress (10 parallel)', async () => { - const docs = Array.from({ length: 10 }, (_, i) => ({ - user: { email: `stress-${i}@test.com` }, - role: `stress-role-${i}`, - index: i, - marker: `stress-${i}`, - })) - - // Insert all 10 docs - const insertedIds: number[] = [] - for (const plaintext of docs) { - const { id } = await insertRow(plaintext) - insertedIds.push(id) - } - - // 10 parallel encrypt-query-decrypt pipelines - const results = await Promise.all( - docs.map(async (plaintext, i) => { - // Encrypt a selector query - const selectorTerm = await encryptQueryTerm( - '$.user.email', - 'steVecSelector', - ) - - // Query PG - const rows = await sql` - SELECT id, (metadata).data as metadata - FROM "protect-ci-jsonb-stack" t, - eql_v2.jsonb_path_query(t.metadata, ${selectorTerm}::eql_v2_encrypted) as result - WHERE t.id = ${insertedIds[i]} - ` - - expect(rows).toHaveLength(1) - - // Decrypt - const decrypted = await protectClient.decryptModel({ - metadata: rows[0].metadata, - }) - if (decrypted.failure) throw new Error(decrypted.failure.message) - - return decrypted.data.metadata - }), - ) - - // Assert all 10 return correct plaintext - expect(results).toHaveLength(10) - results.forEach((result, i) => { - expect(result).toEqual(docs[i]) - }) - }, 120000) - }) -}) diff --git a/packages/stack/__tests__/test-kit-families.test.ts b/packages/stack/__tests__/test-kit-families.test.ts index d94a3c2d3..cc9188bbe 100644 --- a/packages/stack/__tests__/test-kit-families.test.ts +++ b/packages/stack/__tests__/test-kit-families.test.ts @@ -63,7 +63,7 @@ describe('test-kit families partition the v3 catalog', () => { 'date_ord_ore', 'double_ord_ore', 'integer_ord_ore', - 'json', + 'json_search', 'numeric_ord_ore', 'real_ord_ore', 'smallint_ord_ore', @@ -74,7 +74,9 @@ describe('test-kit families partition the v3 catalog', () => { // is queried by containment, not the scalar op-matrix (covered by dedicated // suites — see catalog reason). for (const { bare, reason } of deferred) { - expect(reason).toMatch(bare === 'json' ? /containment/ : /superuser-only/) + expect(reason).toMatch( + bare === 'json_search' ? /containment/ : /superuser-only/, + ) } }) diff --git a/packages/stack/__tests__/types.test-d.ts b/packages/stack/__tests__/types.test-d.ts index aeec80e57..0be34499b 100644 --- a/packages/stack/__tests__/types.test-d.ts +++ b/packages/stack/__tests__/types.test-d.ts @@ -89,6 +89,7 @@ describe('Type inference', () => { expectTypeOf<'orderAndRange'>().toMatchTypeOf() expectTypeOf<'searchableJson'>().toMatchTypeOf() expectTypeOf<'steVecSelector'>().toMatchTypeOf() + expectTypeOf<'steVecValueSelector'>().toMatchTypeOf() expectTypeOf<'steVecTerm'>().toMatchTypeOf() }) diff --git a/packages/stack/__tests__/v3-matrix/matrix.test-d.ts b/packages/stack/__tests__/v3-matrix/matrix.test-d.ts index 750abcdcb..3703d1a96 100644 --- a/packages/stack/__tests__/v3-matrix/matrix.test-d.ts +++ b/packages/stack/__tests__/v3-matrix/matrix.test-d.ts @@ -32,7 +32,7 @@ const records = encryptedTable('records', { active: V3_MATRIX['public.eql_v3_boolean'].builder('active'), // boolean, storage-only // Pinned so core's OWN suite guards the `searchableJson` arm rather than // leaving it to a downstream adapter's typecheck (#650). - payload: V3_MATRIX['public.eql_v3_json'].builder('payload'), // JsonDocument, containment/selector only + payload: V3_MATRIX['public.eql_v3_json_search'].builder('payload'), // JsonDocument, containment/selector only }) describe('eql_v3 type-driven matrix (types)', () => { diff --git a/packages/stack/__tests__/wasm-inline-query.test.ts b/packages/stack/__tests__/wasm-inline-query.test.ts index 31568db77..bde15b972 100644 --- a/packages/stack/__tests__/wasm-inline-query.test.ts +++ b/packages/stack/__tests__/wasm-inline-query.test.ts @@ -158,7 +158,7 @@ describe('WasmEncryptionClient.encryptQuery', () => { expect.anything(), expect.objectContaining({ indexType: 'ste_vec', - queryOp: 'ste_vec_term', + queryOp: 'default', }), ) }) diff --git a/packages/stack/integration/shared/json-crypto.integration.test.ts b/packages/stack/integration/shared/json-crypto.integration.test.ts index 77382a72a..dd66d412b 100644 --- a/packages/stack/integration/shared/json-crypto.integration.test.ts +++ b/packages/stack/integration/shared/json-crypto.integration.test.ts @@ -1,6 +1,6 @@ /** * Live round-trip for the v3 `types.Json()` column — an encrypted JSONB document - * (`public.eql_v3_json`). Proves the new json column model encrypts and decrypts + * (`public.eql_v3_json_search`). Proves the new json column model encrypts and decrypts * a real document through protect-ffi (no DB query here; containment is exercised * by the Drizzle json suite). The stored payload is protect-ffi's * `SteVecDocument`, carrying an `sv` array rather than a scalar `c` ciphertext. diff --git a/packages/stack/integration/shared/match-bloom.integration.test.ts b/packages/stack/integration/shared/match-bloom.integration.test.ts index 563b3cec6..95fb70115 100644 --- a/packages/stack/integration/shared/match-bloom.integration.test.ts +++ b/packages/stack/integration/shared/match-bloom.integration.test.ts @@ -6,7 +6,7 @@ import { encryptedTable, types } from '@/eql/v3' * The invariant `contains()` rests on, asserted directly on the wire rather than * inferred from a query result. * - * `eql_v3.contains(a, b)` is `match_term(a) @> match_term(b)`: bloom-filter + * `eql_v3.matches(a, b)` is `match_term(a) @> match_term(b)`: bloom-filter * (`smallint[]`) containment. So a substring search can only work if * * bloom(needle) ⊆ bloom(haystack) diff --git a/packages/stack/integration/shared/matrix-crypto.integration.test.ts b/packages/stack/integration/shared/matrix-crypto.integration.test.ts index 11dcd4432..03d9fcd0d 100644 --- a/packages/stack/integration/shared/matrix-crypto.integration.test.ts +++ b/packages/stack/integration/shared/matrix-crypto.integration.test.ts @@ -89,7 +89,7 @@ describe('v3 matrix live round-trip (all domains × samples)', () => { )('%s round-trips through the model path', (_label, col, sample, i) => { // Guard against a false pass: the field must be a real ciphertext, not a // plaintext value that slipped through un-encrypted. Scalar domains carry it - // at a top-level `c`; a JSON (`eql_v3_json`) document is an ste_vec payload + // at a top-level `c`; a JSON (`eql_v3_json_search`) document is an ste_vec payload // (`{ k: 'sv', sv: [...] }`) with NO top-level `c`, so it is guarded by the // presence of its `sv` array instead. const payload = encrypted[i][col] as { k?: unknown; sv?: unknown } diff --git a/packages/stack/integration/shared/matrix-sql.integration.test.ts b/packages/stack/integration/shared/matrix-sql.integration.test.ts index f17c836d0..7d1fa228d 100644 --- a/packages/stack/integration/shared/matrix-sql.integration.test.ts +++ b/packages/stack/integration/shared/matrix-sql.integration.test.ts @@ -31,7 +31,7 @@ * term-only `eql_v3.query_` operands via `encryptQuery`; the * full-envelope path stays because it is what the integrations send.) * Dispatch mirrors the priority `resolveIndexType` uses (match > unique > ore): - * - match (text_match, text_search): `eql_v3.contains(col, operand)` + * - match (text_match, text_search): `eql_v3.matches(col, operand)` * - eq (any `unique` domain): `eql_v3.eq(col, operand)` * - ord (any `ore` domain): ORE range `eql_v3.gte(col,op) AND * eql_v3.lte(col,op)`. Pure-ORE numeric/date `*_ord`/`*_ord_ore` domains @@ -439,13 +439,13 @@ describe('v3 matrix live Postgres coverage (all covered domains)', () => { it.each( matchDomains, - )('%s: eql_v3.contains selects the row containing "ada"', async (eqlType, spec) => { + )('%s: eql_v3.matches selects the row containing "ada"', async (eqlType, spec) => { const col = slug(eqlType) const expectedId = String(spec.samples[0]).includes('ada') ? idA : idB const rows = await sql.unsafe( `SELECT id FROM ${TABLE_NAME} WHERE test_run_id = $1 - AND eql_v3.contains("${col}", $2::jsonb)`, + AND eql_v3.matches("${col}", $2::jsonb)`, [TEST_RUN_ID, sql.json(matchTerms[col] as never)], ) expect(rows.map((r) => r.id)).toEqual([expectedId]) diff --git a/packages/stack/integration/shared/schema-pg.integration.test.ts b/packages/stack/integration/shared/schema-pg.integration.test.ts index a034411d6..a8c8992de 100644 --- a/packages/stack/integration/shared/schema-pg.integration.test.ts +++ b/packages/stack/integration/shared/schema-pg.integration.test.ts @@ -180,7 +180,7 @@ describe('eql_v3 text_search postgres integration', () => { await expect(decryptRow(rows[0])).resolves.toBe('grace@example.com') }, 30000) - it('queries free-text with eql_v3.contains and a full operand', async () => { + it('queries free-text with eql_v3.matches and a full operand', async () => { await seedRows() const operand = await encryptOperand('example.com', { table, @@ -191,7 +191,7 @@ describe('eql_v3 text_search postgres integration', () => { SELECT id, email::jsonb AS email, label FROM protect_ci_v3_text_search WHERE test_run_id = ${TEST_RUN_ID} - AND eql_v3.contains(email, ${sql.json(operand)}::jsonb) + AND eql_v3.matches(email, ${sql.json(operand)}::jsonb) ORDER BY label ` diff --git a/packages/stack/integration/wasm/adapter.ts b/packages/stack/integration/wasm/adapter.ts index cbf2b645e..7caaef6b3 100644 --- a/packages/stack/integration/wasm/adapter.ts +++ b/packages/stack/integration/wasm/adapter.ts @@ -95,7 +95,7 @@ function toWasmPlaintext(value: Plain): WasmPlaintext { /** `public.eql_v3_text_eq` → `eql_v3.query_text_eq`; irregular: json → jsonb. */ function queryDomain(eqlType: string): string { const suffix = eqlType.replace(/^public\.eql_v3_/, '') - return suffix === 'json' ? 'eql_v3.query_jsonb' : `eql_v3.query_${suffix}` + return suffix === 'json' ? 'eql_v3.query_json' : `eql_v3.query_${suffix}` } const QUERY_TYPE_BY_KIND = { @@ -299,7 +299,7 @@ export function makeWasmAdapter(): IntegrationAdapter { case 'matches': { const t = await term(op.column, op.needle, 'matches') return selectKeys( - `eql_v3.contains("${op.column}", $1::jsonb::${t.cast})`, + `eql_v3.matches("${op.column}", $1::jsonb::${t.cast})`, [t.param], ) } diff --git a/packages/stack/package.json b/packages/stack/package.json index 3caab9025..c8ee6f5e9 100644 --- a/packages/stack/package.json +++ b/packages/stack/package.json @@ -202,7 +202,7 @@ "test:integration": "vitest run --config integration/vitest.config.ts" }, "devDependencies": { - "@cipherstash/eql": "3.0.0", + "@cipherstash/eql": "3.0.2", "@clack/prompts": "^1.7.0", "@clerk/backend": "3.11.3", "@supabase/postgrest-js": "2.110.2", @@ -228,7 +228,7 @@ "dependencies": { "@byteslice/result": "0.2.0", "@cipherstash/auth": "catalog:repo", - "@cipherstash/protect-ffi": "0.29.0", + "@cipherstash/protect-ffi": "0.30.0", "evlog": "1.11.0", "uuid": "14.0.1", "zod": "3.25.76" diff --git a/packages/stack/src/encryption/helpers/index.ts b/packages/stack/src/encryption/helpers/index.ts index 78c1371e2..8b431d8d2 100644 --- a/packages/stack/src/encryption/helpers/index.ts +++ b/packages/stack/src/encryption/helpers/index.ts @@ -7,11 +7,9 @@ import type { import type { Encrypted, EncryptedQueryResult, KeysetIdentifier } from '@/types' /** - * The shape `encryptQuery` / `encryptQueryBulk` can return: a full storage - * payload (returned for v2 `ste_vec_term` containment queries), a query-only - * payload with no ciphertext (scalar `unique`/`match`/`ore` lookups and - * `ste_vec_selector` path queries), or — under `eqlVersion: 3` — the - * `eql_v3.jsonb_query` containment needle. + * The shape `encryptQuery` / `encryptQueryBulk` can return: a legacy v2 query + * payload, or a v3 ciphertext-free scalar/SteVec query term (including the + * bare selector hash and `eql_v3.query_json` containment needle). * * TODO: duplicated in `@cipherstash/protect` — see * `packages/protect/src/helpers/index.ts`. Both copies should be removed once diff --git a/packages/stack/src/encryption/helpers/infer-index-type.ts b/packages/stack/src/encryption/helpers/infer-index-type.ts index 8cbd4e6b6..5d2c4c640 100644 --- a/packages/stack/src/encryption/helpers/infer-index-type.ts +++ b/packages/stack/src/encryption/helpers/infer-index-type.ts @@ -36,23 +36,23 @@ export function inferIndexType(column: BuildableQueryColumn): FfiIndexTypeName { /** * Infer the FFI query operation from plaintext type for STE Vec queries. * - String → ste_vec_selector (JSONPath queries like '$.user.email') - * - Object/Array/Number/Boolean → ste_vec_term (containment queries) + * - Object/Array/Number/Boolean → default (containment queries) */ export function inferQueryOpFromPlaintext(plaintext: Plaintext): QueryOpName { if (typeof plaintext === 'string') { return 'ste_vec_selector' } - // Objects (incl. Date), arrays, numbers, booleans are all valid JSONB - // containment values + // Objects, arrays, numbers, and booleans use SteVec's default structural + // containment query. `ste_vec_term` is reserved for selector ordering. if ( typeof plaintext === 'object' || typeof plaintext === 'number' || typeof plaintext === 'boolean' ) { - return 'ste_vec_term' + return 'default' } // This should never happen with valid JsPlaintext, but keep for safety - return 'ste_vec_term' + return 'default' } /** diff --git a/packages/stack/src/encryption/index.ts b/packages/stack/src/encryption/index.ts index d07bf8d9b..ae36a7e00 100644 --- a/packages/stack/src/encryption/index.ts +++ b/packages/stack/src/encryption/index.ts @@ -72,15 +72,15 @@ export const noClientError = () => * `buildColumnKeyMap()` marker — v2 tables don't have one: * * - every schema is v3 → `3`; - * - no schema is v3 → `undefined`, leaving the FFI's v2 default (and its - * byte-identical v2 output) untouched; + * - no schema is v3 → `undefined`, leaving scalar-only schemas on the FFI's v2 + * default; * - a mix of the two → throws: the v2 tables target `eql_v2_encrypted` * columns and the v3 tables target `eql_v3` domains, so no single wire * format serves both. Split them across two clients. * - * An explicit `config.eqlVersion` bypasses detection (the wire format is - * then unambiguous — e.g. writing v2-wire from a v3 schema set during a - * migration), but a mixed schema set still throws. + * An explicit `config.eqlVersion` bypasses version detection (the wire format + * is then unambiguous — e.g. writing v2 wire from a v3 schema set during a + * migration), but mixed schemas and legacy v2 SteVec schemas still throw. * * @internal exported for unit-test coverage of the detection matrix. */ @@ -98,6 +98,23 @@ export function resolveEqlVersion( ) } + // cipherstash-client 0.42 removed the EQL v2 SteVec selector envelope. + // protect-ffi 0.30 therefore cannot emit v2 searchable-JSON values at all; + // allowing this legacy schema through would either fail opaquely in the FFI + // or emit v3 data for an eql_v2 column. Fail at setup with a migration steer. + if ( + v3Count === 0 && + schemas.some((schema) => + Object.values(schema.build().columns).some( + (column) => column.indexes?.ste_vec !== undefined, + ), + ) + ) { + throw new Error( + '[encryption]: searchableJson() on the legacy EQL v2 schema is not supported by protect-ffi 0.30. Migrate the column to the EQL v3 types.Json() domain.', + ) + } + if (explicit !== undefined) { return explicit } @@ -309,7 +326,7 @@ export class EncryptionClient { * **JSONB columns (searchableJson):** * When `queryType` is omitted on a `searchableJson()` column, the query operation is inferred: * - String plaintext → `steVecSelector` (JSONPath queries like `'$.user.email'`) - * - Object/Array plaintext → `steVecTerm` (containment queries like `{ role: 'admin' }`) + * - Object/Array plaintext → default SteVec containment (for example `{ role: 'admin' }`) */ encryptQuery( plaintext: Plaintext, diff --git a/packages/stack/src/encryption/operations/batch-encrypt-query.ts b/packages/stack/src/encryption/operations/batch-encrypt-query.ts index 9b6dcb61e..cd1e24232 100644 --- a/packages/stack/src/encryption/operations/batch-encrypt-query.ts +++ b/packages/stack/src/encryption/operations/batch-encrypt-query.ts @@ -1,9 +1,4 @@ import { type Result, withResult } from '@byteslice/result' -import type { - Encrypted as CipherStashEncrypted, - EncryptedQuery as CipherStashEncryptedQuery, - EncryptedV3Query as CipherStashEncryptedV3Query, -} from '@cipherstash/protect-ffi' import { encryptQueryBulk as ffiEncryptQueryBulk, type JsPlaintext, @@ -83,17 +78,15 @@ function buildQueryPayload( */ function assembleResults( totalLength: number, - // Typed as the FFI bulk-query return so it tracks the upstream union. As of - // protect-ffi 0.27 that union also includes `SteVecQuery`, but scalar query - // terms (all this operation builds) never produce a ste_vec result, so each - // element is narrowed back to the scalar shape `formatEncryptedResult` takes. + // Typed as the FFI bulk-query return so it tracks scalar, SteVec containment, + // selector-hash, value-selector, and selector-ordering query shapes. encryptedValues: Awaited>, nonNullTerms: { term: ScalarQueryTerm; originalIndex: number }[], ): EncryptedQueryResult[] { const results: EncryptedQueryResult[] = new Array(totalLength).fill(null) nonNullTerms.forEach(({ term, originalIndex }, i) => { results[originalIndex] = formatEncryptedResult( - encryptedValues[i] as CipherStashEncrypted | CipherStashEncryptedQuery, + encryptedValues[i], term.returnType, ) }) diff --git a/packages/stack/src/eql/v3/columns.ts b/packages/stack/src/eql/v3/columns.ts index bd8895afb..30c46ce81 100644 --- a/packages/stack/src/eql/v3/columns.ts +++ b/packages/stack/src/eql/v3/columns.ts @@ -12,7 +12,7 @@ import { defaultMatchOpts } from '@/schema/match-defaults' * - `freeTextSearch`: tokenised substring match (EQL `bf`). * - `searchableJson`: encrypted-JSONB containment / selector lookups (EQL * `ste_vec`). Optional and mutually exclusive with the scalar flags — a - * `public.eql_v3_json` document is queried by structure, not by scalar term. + * `public.eql_v3_json_search` document is queried by structure, not by scalar term. */ export type QueryCapabilities = Readonly<{ equality: boolean @@ -390,7 +390,7 @@ function indexesForCapabilities( // With positional terms emitted (v2 `searchableJson`'s `'all'`), the needle // for `x`-at-index-0 would miss a document holding `x` at index 1. // - // `mode: 'compat'` is REQUIRED for eql-3.0.0: `public.eql_v3_json` orders the + // `mode: 'compat'` is REQUIRED for eql-3.0.0: `public.eql_v3_json_search` orders the // document's entries by the CLLW-OPE `op` term, so the index must emit `op` // (compat) terms. `'standard'` emits v2's CLLW-ORE `oc` terms, which the v3 // domain rejects at encrypt time. @@ -631,7 +631,7 @@ export class EncryptedDoubleOrdColumn extends EncryptedV3Column< // json const JSON_DOMAIN = { - eqlType: 'public.eql_v3_json', + eqlType: 'public.eql_v3_json_search', castAs: 'json', capabilities: { equality: false, @@ -642,7 +642,7 @@ const JSON_DOMAIN = { } as const /** - * Builder for a `public.eql_v3_json` column — an encrypted JSONB document + * Builder for a `public.eql_v3_json_search` column — an encrypted JSONB document * (a {@link JsonDocument}: object, array, or null). It round-trips through * `encrypt`/`decrypt`, and containment queries use the encrypted-JSONB index * emitted by `build()`. (The stored payload is protect-ffi's `SteVecDocument`, @@ -727,7 +727,7 @@ export type JsonValue = | { [key: string]: JsonValue } /** - * The plaintext a `public.eql_v3_json` column encrypts and reconstructs: a JSON + * The plaintext a `public.eql_v3_json_search` column encrypts and reconstructs: a JSON * DOCUMENT — an object, an array, or `null`. NOT a bare top-level scalar: * protect-ffi's `json` cast rejects a top-level string/number/boolean * ("Cannot convert … to Json"), because a scalar belongs in a scalar domain diff --git a/packages/stack/src/eql/v3/selector-path.ts b/packages/stack/src/eql/v3/selector-path.ts index 8e17843ae..7dd2213f0 100644 --- a/packages/stack/src/eql/v3/selector-path.ts +++ b/packages/stack/src/eql/v3/selector-path.ts @@ -4,10 +4,10 @@ * `@cipherstash/stack/adapter-kit`. * * Both adapters express "compare the value at `$.a.b`" over an encrypted - * `eql_v3_json` column, and both need the same three pieces: parse + validate - * the dot-notation path, reconstruct the `{ a: { b: value } }` needle document - * whose ste_vec entry at the path carries the comparison terms, and reject - * non-scalar leaves up front. Originally private to the Drizzle v3 operators + * `eql_v3_json_search` column, and both need consistent parsing and scalar-leaf + * validation. `reconstructSelectorDocument` remains available for adapters that + * must send a storage-shaped document through PostgREST. Originally private to + * the Drizzle v3 operators * (#651); moved here when the Supabase adapter grew the same querying (#650) so * the validation rules cannot drift between adapters. */ @@ -75,7 +75,7 @@ export function jsonPathOf(segments: string[]): string { /** * A selector compares a single scalar LEAF. Returns a reason string when `value` - * is unsupported — a non-scalar (object/array → that's `contains`), or a boolean + * is unsupported — a non-JSON scalar (object/array/Date/bigint), or a boolean * under an ordering operator (no ordering term) — else `null`. Callers raise it * as their adapter's operator error with column context, so a bad value is an * actionable SDK error rather than a deferred, opaque DB failure. @@ -90,13 +90,21 @@ export function unsupportedLeafReason( return 'a selector compares a non-null scalar leaf, but got null/undefined — SQL NULL never equals anything; use is(column, null) for null checks.' } const isScalar = - value instanceof Date || typeof value === 'number' || - typeof value === 'bigint' || typeof value === 'string' || typeof value === 'boolean' if (!isScalar) { - return `a selector compares a scalar leaf, but got ${Array.isArray(value) ? 'an array' : 'an object'} — use contains() for sub-object matching.` + const got = Array.isArray(value) + ? 'an array' + : value instanceof Date + ? 'a Date — pass date.toISOString() (or its stored JSON representation)' + : typeof value === 'bigint' + ? 'bigint — pass its stored string/number representation' + : 'an object' + return `a selector compares a JSON scalar leaf, but got ${got} — use contains() for sub-object matching.` + } + if (typeof value === 'number' && !Number.isFinite(value)) { + return `a selector compares a JSON number, but got ${String(value)} — JSON supports only finite numbers.` } if (ordering && typeof value === 'boolean') { return 'a boolean leaf has no ordering — use eq/ne (or contains()).' diff --git a/packages/stack/src/schema/index.ts b/packages/stack/src/schema/index.ts index 7c68bf649..27fa88d47 100644 --- a/packages/stack/src/schema/index.ts +++ b/packages/stack/src/schema/index.ts @@ -399,6 +399,10 @@ export class EncryptedColumn { * the plaintext type: strings become selector queries, objects/arrays become * containment queries. * + * @deprecated Legacy EQL v2 searchable JSON cannot be emitted by + * protect-ffi 0.30. Migrate the column to the EQL v3 `types.Json()` domain; + * client initialization rejects schemas that still use this method. + * * @returns This `EncryptedColumn` instance for method chaining. * * @example diff --git a/packages/stack/src/types.ts b/packages/stack/src/types.ts index 23a6b9eb7..fdb0ff4d9 100644 --- a/packages/stack/src/types.ts +++ b/packages/stack/src/types.ts @@ -64,11 +64,9 @@ export type Encrypted = CipherStashEncryptedPayload /** Structural type representing an encrypted query term (search needle) * returned by `encryptQuery` / `encryptQueryBulk` for scalar - * (`unique` / `match` / `ore`) lookups and `ste_vec_selector` JSON path - * queries, plus — under `eqlVersion: 3` — the `eql_v3.jsonb_query` - * containment needle. Carries no ciphertext — matched against stored - * values, never decrypted. v2 JSON containment queries (`ste_vec_term`) - * return a storage-shaped {@link Encrypted} payload instead. */ + * (`unique` / `match` / `ore`) lookups and SteVec JSON selector, + * value-selector, ordering, and `eql_v3.query_json` containment queries. + * Carries no ciphertext — matched against stored values, never decrypted. */ export type EncryptedQuery = | CipherStashEncryptedQuery | CipherStashEncryptedV3Query @@ -193,7 +191,7 @@ export type ClientConfig = { * * Under `3`, `encryptQuery` returns EQL v3 query operands (protect-ffi * 0.29+): term-only scalar operands for the `eql_v3.query_` twins, - * the `eql_v3.query_jsonb` containment needle, and bare selector-hash + * the `eql_v3.query_json` containment needle, and bare selector-hash * strings for JSON path queries. */ eqlVersion?: 2 | 3 @@ -318,10 +316,9 @@ export type SearchTerm = { returnType?: EncryptedReturnType } -/** Encrypted search term result. `eql` return type yields either a storage - * payload (`Encrypted`, for `ste_vec_term`) or a query-only term - * (`EncryptedQuery`, for scalar lookups and `ste_vec_selector`); the - * `composite-literal` return types yield a string. */ +/** Encrypted search term result. `eql` returns the query-only scalar or SteVec + * term; the `composite-literal` return types yield a string. The `Encrypted` + * arm remains for legacy v2 scalar query compatibility. */ export type EncryptedSearchTerm = Encrypted | EncryptedQuery | string /** Result of encryptQuery (single or batch). `eql` return type yields either a @@ -423,14 +420,16 @@ export type DecryptionResult = DecryptionSuccess | DecryptionError * - `'freeTextSearch'`: Text search. [Match Queries](https://cipherstash.com/docs/stack/cipherstash/encryption/searchable-encryption) * - `'orderAndRange'`: Comparison and range. [Range Queries](https://cipherstash.com/docs/stack/cipherstash/encryption/searchable-encryption) * - `'steVecSelector'`: JSONPath selector (e.g. `'$.user.email'`) - * - `'steVecTerm'`: Containment (e.g. `{ role: 'admin' }`) - * - `'searchableJson'`: Auto-infers selector or term from plaintext type (recommended) + * - `'steVecValueSelector'`: Exact value at a JSONPath (`{ path, value }`) + * - `'steVecTerm'`: Ordering term for a scalar JSON value + * - `'searchableJson'`: Auto-infers selector or containment from plaintext type (recommended) */ export type QueryTypeName = | 'orderAndRange' | 'freeTextSearch' | 'equality' | 'steVecSelector' + | 'steVecValueSelector' | 'steVecTerm' | 'searchableJson' @@ -442,6 +441,7 @@ export const queryTypes = { freeTextSearch: 'freeTextSearch', equality: 'equality', steVecSelector: 'steVecSelector', + steVecValueSelector: 'steVecValueSelector', steVecTerm: 'steVecTerm', searchableJson: 'searchableJson', } as const satisfies Record @@ -454,6 +454,7 @@ export const queryTypeToFfi: Record = { freeTextSearch: 'match', equality: 'unique', steVecSelector: 'ste_vec', + steVecValueSelector: 'ste_vec', steVecTerm: 'ste_vec', searchableJson: 'ste_vec', } @@ -461,6 +462,7 @@ export const queryTypeToFfi: Record = { /** @internal */ export const queryTypeToQueryOp: Partial> = { steVecSelector: 'ste_vec_selector', + steVecValueSelector: 'ste_vec_value_selector', steVecTerm: 'ste_vec_term', } diff --git a/packages/stack/src/wasm-inline.ts b/packages/stack/src/wasm-inline.ts index 7ce39ee24..8f545ccf4 100644 --- a/packages/stack/src/wasm-inline.ts +++ b/packages/stack/src/wasm-inline.ts @@ -46,7 +46,7 @@ * }) * // e.g. postgres-js: * // sql`SELECT * FROM users - * // WHERE eql_v3.contains(email, ${term}::jsonb::eql_v3.query_text_search)` + * // WHERE eql_v3.matches(email, ${term}::jsonb::eql_v3.query_text_search)` * ``` * * For per-user, identity-bound encryption on the edge, build an @@ -375,7 +375,7 @@ export class WasmEncryptionClient { * Interpolate it as a parameter and cast to the column's * `eql_v3.query_` type to reach the indexed operators — the domain * suffix mirrors the storage domain (`eql_v3_text_eq` → - * `eql_v3.query_text_eq`; irregular: `eql_v3_json` → `eql_v3.query_jsonb`). + * `eql_v3.query_text_eq`; irregular: `eql_v3_json_search` → `eql_v3.query_json`). * * @example Equality (unique index) * ```ts @@ -393,7 +393,7 @@ export class WasmEncryptionClient { * table: users, column: users.bio, queryType: "freeTextSearch", * }) * sql`SELECT * FROM users - * WHERE eql_v3.contains(bio, ${term}::jsonb::eql_v3.query_text_search)` + * WHERE eql_v3.matches(bio, ${term}::jsonb::eql_v3.query_text_search)` * ``` * * @example Range / ORDER BY (ORE index) @@ -412,7 +412,7 @@ export class WasmEncryptionClient { * table: users, column: users.prefs, queryType: "searchableJson", * }) * sql`SELECT * FROM users - * WHERE prefs @> ${contains}::jsonb::eql_v3.query_jsonb` + * WHERE prefs @> ${contains}::jsonb::eql_v3.query_json` * * // String value → JSONPath selector. NOTE: v3 has no encrypted-selector * // envelope — this returns the BARE selector-hash string, bound as the diff --git a/packages/test-kit/src/catalog.ts b/packages/test-kit/src/catalog.ts index d91454f88..bb52e9acd 100644 --- a/packages/test-kit/src/catalog.ts +++ b/packages/test-kit/src/catalog.ts @@ -675,7 +675,7 @@ export const V3_MATRIX = { // models, so `runFamilySuite` cannot exercise it. The row still pins the built // shape (`cast_as: 'json'` + the encrypted-JSONB index) and carries // representative document samples. - 'public.eql_v3_json': { + 'public.eql_v3_json_search': { builder: types.Json, ColumnClass: EncryptedJsonColumn, castAs: 'json', diff --git a/packages/test-kit/src/families.ts b/packages/test-kit/src/families.ts index 4ba86969a..a27962cab 100644 --- a/packages/test-kit/src/families.ts +++ b/packages/test-kit/src/families.ts @@ -47,7 +47,7 @@ const FAMILY_PREFIXES: Readonly> = { timestamp: ['timestamp'], text: ['text'], boolean: ['boolean'], - // `json` is here only for coverage accounting — its one domain (`eql_v3_json`) + // `json` is here only for coverage accounting — its one domain (`eql_v3_json_search`) // is marked `deferred`, meaning "not run by the scalar op-matrix", because JSON // is queried by containment (`@>`), not the eq/ord/match ops the oracle models. // It is NOT unimplemented: dedicated live suites (`json-crypto`, `json-contains`) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b25757a94..0804b040b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -243,8 +243,8 @@ importers: specifier: catalog:repo version: 0.42.0(@cipherstash/auth-darwin-arm64@0.42.0)(@cipherstash/auth-darwin-x64@0.42.0)(@cipherstash/auth-linux-arm64-gnu@0.42.0)(@cipherstash/auth-linux-x64-gnu@0.42.0)(@cipherstash/auth-linux-x64-musl@0.42.0)(@cipherstash/auth-win32-x64-msvc@0.42.0) '@cipherstash/eql': - specifier: 3.0.0 - version: 3.0.0 + specifier: 3.0.2 + version: 3.0.2 '@cipherstash/migrate': specifier: workspace:* version: link:../migrate @@ -374,8 +374,8 @@ importers: packages/prisma-next: dependencies: '@cipherstash/eql': - specifier: 3.0.0 - version: 3.0.0 + specifier: 3.0.2 + version: 3.0.2 '@cipherstash/stack': specifier: workspace:* version: link:../stack @@ -565,8 +565,8 @@ importers: specifier: catalog:repo version: 0.42.0(@cipherstash/auth-darwin-arm64@0.42.0)(@cipherstash/auth-darwin-x64@0.42.0)(@cipherstash/auth-linux-arm64-gnu@0.42.0)(@cipherstash/auth-linux-x64-gnu@0.42.0)(@cipherstash/auth-linux-x64-musl@0.42.0)(@cipherstash/auth-win32-x64-msvc@0.42.0) '@cipherstash/protect-ffi': - specifier: 0.29.0 - version: 0.29.0 + specifier: 0.30.0 + version: 0.30.0 evlog: specifier: 1.11.0 version: 1.11.0(next@15.5.20(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3) @@ -578,8 +578,8 @@ importers: version: 3.25.76 devDependencies: '@cipherstash/eql': - specifier: 3.0.0 - version: 3.0.0 + specifier: 3.0.2 + version: 3.0.2 '@clack/prompts': specifier: ^1.7.0 version: 1.7.0 @@ -664,8 +664,8 @@ importers: version: link:../stack devDependencies: '@cipherstash/protect-ffi': - specifier: 0.29.0 - version: 0.29.0 + specifier: 0.30.0 + version: 0.30.0 '@cipherstash/test-kit': specifier: workspace:* version: link:../test-kit @@ -698,8 +698,8 @@ importers: version: link:../stack devDependencies: '@cipherstash/protect-ffi': - specifier: 0.29.0 - version: 0.29.0 + specifier: 0.30.0 + version: 0.30.0 '@cipherstash/test-kit': specifier: workspace:* version: link:../test-kit @@ -1079,16 +1079,16 @@ packages: '@cipherstash/auth-win32-x64-msvc': optional: true - '@cipherstash/eql@3.0.0': - resolution: {integrity: sha512-hi8zrIx3FEokLhgJaUN4VsRagUnxhyJOn6gbvIxjBpZjEXJdMQQXkkSq4eV6Bz2sroUf1+d+qeX2H2zejcM1Dg==} + '@cipherstash/eql@3.0.2': + resolution: {integrity: sha512-E85o0aoOqgCW6RReLtJ0YLh/ExRlmDJo7LlJGpWPoMTVaw+CW8o11DJ4oJIF1vFtuxSVxNULuPzzBuVmpTvvcA==} '@cipherstash/protect-ffi-darwin-arm64@0.23.0': resolution: {integrity: sha512-DhkKC+trOfk3RLDvPXqGsrpWdVnLAMEVLUI59OuR9tdTcJeiABtbQx8VaXdbzvNxnbkoDnOqbFRE5D11Z7nerQ==} cpu: [arm64] os: [darwin] - '@cipherstash/protect-ffi-darwin-arm64@0.29.0': - resolution: {integrity: sha512-Licuimkh6Y2cCAUQSBcwSzmjT9NOvA2ShC2wqaacA6fyWXtPlvRHvh5hct5fP0jBoKgMLAIu1qVJG0DdPU2OGQ==} + '@cipherstash/protect-ffi-darwin-arm64@0.30.0': + resolution: {integrity: sha512-MbUfH0em2ysQxEV8+ed6442Q/EPQbAh5p17p1p4+JLUgbQJwPvxP8gm0yjeVrYBuGnZodsMqZwgOgEGt7360Ig==} cpu: [arm64] os: [darwin] @@ -1097,8 +1097,8 @@ packages: cpu: [x64] os: [darwin] - '@cipherstash/protect-ffi-darwin-x64@0.29.0': - resolution: {integrity: sha512-rRVrhcwrmrPr4xw6RGuBht9SwhfdumSan9P+BV8t9ivmnmpR/GA7+3425794R07jSdwpjkyob0kkuLHwI+Wc1A==} + '@cipherstash/protect-ffi-darwin-x64@0.30.0': + resolution: {integrity: sha512-GD2RXtjLvQaxWOPq2kbZEoNKTYWpDNTPQJ/tb9djpJF4RaR15g/jYhvk7Nqe2v3o6gre5RJBUpsaTQqC+G+L9A==} cpu: [x64] os: [darwin] @@ -1107,8 +1107,8 @@ packages: cpu: [arm64] os: [linux] - '@cipherstash/protect-ffi-linux-arm64-gnu@0.29.0': - resolution: {integrity: sha512-zWb9gHJQo9iJw8AD0nkUORB4AxrWN66fePt/rxs9hCp/gBNMe19dJMqAUs8pgG7+S2mIi8SPa/TPm86wraTDCA==} + '@cipherstash/protect-ffi-linux-arm64-gnu@0.30.0': + resolution: {integrity: sha512-R/DWCDQDDx/hRksRueJLvqxyQCSpGOZIummKqcVvBNkIhF/6Aos1SZ+zXTHAZ4gvBlfu3ovnRfMMI6eAstZDog==} cpu: [arm64] os: [linux] @@ -1117,8 +1117,8 @@ packages: cpu: [x64] os: [linux] - '@cipherstash/protect-ffi-linux-x64-gnu@0.29.0': - resolution: {integrity: sha512-f+yz03a6ZKcunzf3UyBEDhBla9ux535pqkj+MJirlhI4x0cVevmwI4SYO+CaNAqAdIhfi/EDqsN3FcXTltoktA==} + '@cipherstash/protect-ffi-linux-x64-gnu@0.30.0': + resolution: {integrity: sha512-uLi9kiKkJ9jUki75hgvLnDsDrJOj0RtZ8G0fVaKl4nnhZjCIVqpkn0EMlf0GOq2Bj8WiGSnca7kTGrhVkvgY9w==} cpu: [x64] os: [linux] @@ -1127,8 +1127,8 @@ packages: cpu: [x64] os: [linux] - '@cipherstash/protect-ffi-linux-x64-musl@0.29.0': - resolution: {integrity: sha512-bZUji9Za65dUoVP2b1FUBddjftZkkRDSJkAknZZVK6QEZ5SbOLyQwOYS1wT1/6zt1k6cpF6oT2+CzwZDEcggVw==} + '@cipherstash/protect-ffi-linux-x64-musl@0.30.0': + resolution: {integrity: sha512-ZrPyxc+qi9u9LsyGYbdqoi6oMPeBBx+E+/uZuAzVtp115k8CsI8xlcrmNswQ6Z74EgvAUfLb1ykTn5/P9Ge0rw==} cpu: [x64] os: [linux] @@ -1137,16 +1137,16 @@ packages: cpu: [x64] os: [win32] - '@cipherstash/protect-ffi-win32-x64-msvc@0.29.0': - resolution: {integrity: sha512-OZ39ODuq07+RTALQwJsWu+EFZYdaQeK/u9IFhpkr/Bf9hY/f7SvnTk6FrZEjUeTsR3mYqfZ3jp3VREXUncqTGA==} + '@cipherstash/protect-ffi-win32-x64-msvc@0.30.0': + resolution: {integrity: sha512-xew3mH+jf9RlfuIjXQ7KFWTs44Wjur//Ed1U48yFK3zmsyzkZGYVwfN8zieKpKgKqvj844s5x/0kvFXtrJDB0A==} cpu: [x64] os: [win32] '@cipherstash/protect-ffi@0.23.0': resolution: {integrity: sha512-Ca8MKLrrumC561VoPDOhuUZcF8C8YenqO1Ig9hSJSRUB+jFeIJXeyn7glExsvKYWtxOx/pRub9FV8A0RyuPHMg==} - '@cipherstash/protect-ffi@0.29.0': - resolution: {integrity: sha512-sBnmODaUUAClDWOlCZPf91cIscxZq9+lVjIj9TqnPTvMc7TIjIpWuKYFyJIx8Ur1EAKy8KZ00Eoy9viSsW/GLQ==} + '@cipherstash/protect-ffi@0.30.0': + resolution: {integrity: sha512-Xh8X/71ZOW6B6iEKPQlG4KrDgsKYZBw29ohsFnmMKOaTWVR7EodCE6MpSRDJ4uc+zYftp3QWsvUDEFz9gDpg6w==} '@clack/core@1.3.1': resolution: {integrity: sha512-fT1qHVGAag4IEkrupZ6lRRbNCs1vS9P01KB/sG8zKgvUztbYtFBtQpjSITNwooDZ83tpsPzP0mRNs1/KVszCRA==} @@ -4177,42 +4177,42 @@ snapshots: '@cipherstash/auth-linux-x64-musl': 0.42.0 '@cipherstash/auth-win32-x64-msvc': 0.42.0 - '@cipherstash/eql@3.0.0': {} + '@cipherstash/eql@3.0.2': {} '@cipherstash/protect-ffi-darwin-arm64@0.23.0': optional: true - '@cipherstash/protect-ffi-darwin-arm64@0.29.0': + '@cipherstash/protect-ffi-darwin-arm64@0.30.0': optional: true '@cipherstash/protect-ffi-darwin-x64@0.23.0': optional: true - '@cipherstash/protect-ffi-darwin-x64@0.29.0': + '@cipherstash/protect-ffi-darwin-x64@0.30.0': optional: true '@cipherstash/protect-ffi-linux-arm64-gnu@0.23.0': optional: true - '@cipherstash/protect-ffi-linux-arm64-gnu@0.29.0': + '@cipherstash/protect-ffi-linux-arm64-gnu@0.30.0': optional: true '@cipherstash/protect-ffi-linux-x64-gnu@0.23.0': optional: true - '@cipherstash/protect-ffi-linux-x64-gnu@0.29.0': + '@cipherstash/protect-ffi-linux-x64-gnu@0.30.0': optional: true '@cipherstash/protect-ffi-linux-x64-musl@0.23.0': optional: true - '@cipherstash/protect-ffi-linux-x64-musl@0.29.0': + '@cipherstash/protect-ffi-linux-x64-musl@0.30.0': optional: true '@cipherstash/protect-ffi-win32-x64-msvc@0.23.0': optional: true - '@cipherstash/protect-ffi-win32-x64-msvc@0.29.0': + '@cipherstash/protect-ffi-win32-x64-msvc@0.30.0': optional: true '@cipherstash/protect-ffi@0.23.0': @@ -4226,16 +4226,16 @@ snapshots: '@cipherstash/protect-ffi-linux-x64-musl': 0.23.0 '@cipherstash/protect-ffi-win32-x64-msvc': 0.23.0 - '@cipherstash/protect-ffi@0.29.0': + '@cipherstash/protect-ffi@0.30.0': dependencies: '@neon-rs/load': 0.1.82 optionalDependencies: - '@cipherstash/protect-ffi-darwin-arm64': 0.29.0 - '@cipherstash/protect-ffi-darwin-x64': 0.29.0 - '@cipherstash/protect-ffi-linux-arm64-gnu': 0.29.0 - '@cipherstash/protect-ffi-linux-x64-gnu': 0.29.0 - '@cipherstash/protect-ffi-linux-x64-musl': 0.29.0 - '@cipherstash/protect-ffi-win32-x64-msvc': 0.29.0 + '@cipherstash/protect-ffi-darwin-arm64': 0.30.0 + '@cipherstash/protect-ffi-darwin-x64': 0.30.0 + '@cipherstash/protect-ffi-linux-arm64-gnu': 0.30.0 + '@cipherstash/protect-ffi-linux-x64-gnu': 0.30.0 + '@cipherstash/protect-ffi-linux-x64-musl': 0.30.0 + '@cipherstash/protect-ffi-win32-x64-msvc': 0.30.0 '@clack/core@1.3.1': dependencies: diff --git a/skills/stash-drizzle/SKILL.md b/skills/stash-drizzle/SKILL.md index ee2bb5dbc..29722d9b0 100644 --- a/skills/stash-drizzle/SKILL.md +++ b/skills/stash-drizzle/SKILL.md @@ -70,7 +70,7 @@ CREATE TABLE users ( id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY, email public.eql_v3_text_search, -- equality + order/range + free-text age public.eql_v3_integer_ord, -- equality + order/range - profile public.eql_v3_json, -- encrypted-JSONB queries + profile public.eql_v3_json_search, -- encrypted-JSONB queries role VARCHAR(50) -- non-encrypted columns are normal types ); ``` @@ -109,7 +109,7 @@ Capability suffixes at a glance (full catalog: `stash-encryption` skill, "Schema | `types.IntegerOrdOre`, ... | `eql_v3_integer_ord_ore`, ... | as `Ord`, with block-ORE ordering (superuser-only install — see Sorting) | | `types.TextMatch` | `eql_v3_text_match` | `matches` (fuzzy free-text) only | | `types.TextSearch` | `eql_v3_text_search` | equality + order/range + `matches` | -| `types.Json` | `eql_v3_json` | `contains` + `selector` (encrypted JSONB) | +| `types.Json` | `eql_v3_json_search` | `contains` + `selector` (encrypted JSONB) | Value families: `Integer`/`Smallint`/`Numeric`/`Real`/`Double` (`number`), `Bigint` (`bigint`), `Date`/`Timestamp` (`Date`), `Text` (`string`), `Boolean` (`boolean`, storage only), `Json` (a JSON document — object or array, not a top-level scalar). @@ -258,7 +258,7 @@ const results = await db ### Encrypted-JSONB Containment (`contains`) -`contains(col, subDoc)` on a `types.Json` column is **exact** encrypted containment (jsonb `@>` semantics, no false positives). The needle is a ciphertext-free `query_jsonb` term. Array containment is position-independent — `{ roles: ["admin"] }` matches any document whose `roles` array includes `"admin"`: +`contains(col, subDoc)` on a `types.Json` column is **exact** encrypted containment (jsonb `@>` semantics, no false positives). The needle is a ciphertext-free `query_json` term. Array containment is position-independent — `{ roles: ["admin"] }` matches any document whose `roles` array includes `"admin"`: ```typescript const results = await db @@ -292,10 +292,10 @@ const results = await db Available methods: `.eq`, `.ne`, `.gt`, `.gte`, `.lt`, `.lte`. Rules: - **Paths are dot-notation object keys only** (`"$.a.b"`). Array-index and wildcard syntax (`$.items[0]`) is rejected. -- **Leaves are scalars only**: `string`, `number`, `boolean`, `Date`, or `bigint`. An object or array leaf is rejected — use `contains` for sub-object matching. A `boolean` leaf is rejected under the ordering methods (booleans have no ordering). +- **Leaves are JSON scalars only**: `string`, `number`, or `boolean`. An object or array leaf is rejected — use `contains` for sub-object matching. A `boolean` leaf is rejected under the ordering methods (booleans have no ordering). Serialize `Date`/`bigint` to the representation actually stored in the JSON document. - **A scalar needle does not match an array at the path.** `selector(col, "$.tags").eq("a")` will not match `{ tags: ["a"] }` — use `contains(col, { tags: ["a"] })` for that. - **Absent-path semantics:** `eq` and the ordering methods exclude rows whose document lacks the path; `ne` **includes** them ("not equal to X" covers "has no X"). -- **Interim ciphertext disclosure ([cipherstash/protectjs-ffi#137](https://github.com/cipherstash/protectjs-ffi/issues/137)):** the selector's right-hand value is currently a storage-encrypted needle, so its ciphertext appears in the WHERE clause (and therefore in Postgres logs that capture query text). The comparison itself only reads the needle's index terms. Once #137 lands, the needle becomes ciphertext-free like every other operand. +- **No ciphertext in selector predicates.** Equality uses a value-selector containment needle (and can use the functional GIN index); ordering uses a selector hash plus a ciphertext-free scalar query term. ### Batched Conditions (and / or) diff --git a/skills/stash-encryption/SKILL.md b/skills/stash-encryption/SKILL.md index 5cfe91462..69c73aa1d 100644 --- a/skills/stash-encryption/SKILL.md +++ b/skills/stash-encryption/SKILL.md @@ -518,7 +518,7 @@ Scalar filters compare through each domain's `eql_v3.*` operators (`col = term`, ## Encrypted JSON (`types.Json`) -A `types.Json("metadata")` column encrypts a whole JSON document to a `public.eql_v3_json` value. The plaintext is a **`JsonDocument`: an object, an array, or `null` — NOT a bare top-level scalar** (protect-ffi rejects a top-level string/number/boolean; a scalar belongs in a scalar domain like `types.TextEq` or `types.IntegerEq`). Nested scalars are fully supported. +A `types.Json("metadata")` column encrypts a whole JSON document to a `public.eql_v3_json_search` value. The plaintext is a **`JsonDocument`: an object, an array, or `null` — NOT a bare top-level scalar** (protect-ffi rejects a top-level string/number/boolean; a scalar belongs in a scalar domain like `types.TextEq` or `types.IntegerEq`). Nested scalars are fully supported. `types.Json` carries no equality or ordering capability — `eq` / `gt` / `asc` on it throw. It supports two query patterns: containment and JSONPath selectors. @@ -537,22 +537,28 @@ The Drizzle and Supabase adapters reject an empty-object needle (jsonb `{} ⊆ a ### JSONPath Selectors (value-at-a-path) -Selector queries constrain the value **at a path** inside the document — `metadata->'$.user.role' = 'admin'`. Their unique power over containment is **ordering at a path** (`gt`/`gte`/`lt`/`lte`), available through the Drizzle v3 integration. Paths are dot-notation object paths (`'$.a.b'`); array/wildcard steps are rejected. +Selector queries constrain the value **at a path** inside the document — `metadata->'$.user.role' = 'admin'`. Their unique power over containment is **ordering at a path** (`gt`/`gte`/`lt`/`lte`), available through the Drizzle and Prisma Next integrations. Paths are dot-notation object paths (`'$.a.b'`); array/wildcard steps are rejected. Semantics to know: - **`eq`** at a path excludes rows whose document lacks the path (absent is not equal). - **`ne`** at a path **includes** rows whose document lacks the path, and — in both adapters — rows whose column is SQL NULL ("not equal to value" covers "has no value"; Drizzle adds `OR IS NULL`, Supabase an `is.null` branch). - **Array-leaf caveat:** a scalar needle does not match an array at the path — ste_vec encodes array elements under their own selectors, so `{a: [40, 30]}` is NOT matched by a selector-eq of `30` at `$.a`. To match an array-valued path, pass the full array through containment. -- **Ciphertext in the WHERE clause (interim):** pending a ciphertext-free ordering needle from protect-ffi ([cipherstash/protectjs-ffi#137](https://github.com/cipherstash/protectjs-ffi/issues/137)), the selector's right-hand operand is a storage encryption of `{path: value}` whose ciphertext appears in the emitted SQL statement — it can surface in SQL logs and statement views. On Supabase, the selector/containment needle additionally ships as a full storage envelope because of a PostgREST operand-casting gap ([cipherstash/stack#654](https://github.com/cipherstash/stack/issues/654)) — #137 landing does not remove that exposure. +- **Query operands are ciphertext-free in Drizzle and Prisma Next.** Equality uses a value-selector containment needle; ordering uses a selector hash plus a scalar query term. Supabase still sends a full storage envelope because PostgREST cannot cast a filter operand to `eql_v3.query_json` ([cipherstash/stack#654](https://github.com/cipherstash/stack/issues/654)). ### Adapter Matrix -| Capability | Drizzle v3 (`ops` from `@cipherstash/stack-drizzle/v3`) | Supabase v3 (`encryptedSupabaseV3`) | -|---|---|---| -| Containment (`@>`) | `ops.contains(col, subdoc)` | `contains(col, subdoc)` / `filter(col, 'cs', ...)` | -| Selector equality | `ops.selector(col, '$.path').eq(value)` / `.ne(value)` | `selectorEq(col, '$.path', value)` / `selectorNe(...)` | -| Selector ordering | `ops.selector(col, '$.path').gt/gte/lt/lte(value)` | Not available — needs [cipherstash/encrypt-query-language#407](https://github.com/cipherstash/encrypt-query-language/issues/407) | +| Capability | Drizzle v3 | Prisma Next | Supabase v3 | +|---|---|---|---| +| Containment (`@>`) | `ops.contains(col, subdoc)` | `eqlJsonContains(subdoc)` | `contains(col, subdoc)` | +| Selector equality | `ops.selector(col, path).eq/ne(value)` | `eqlJsonPathEq/Neq(path, value)` | `selectorEq/selectorNe(col, path, value)` | +| Selector ordering | `ops.selector(col, path).gt/gte/lt/lte(value)` | `eqlJsonPathGt/Gte/Lt/Lte(path, value)` | Not available — needs [cipherstash/encrypt-query-language#407](https://github.com/cipherstash/encrypt-query-language/issues/407) | + +> **EQL 3.0.2 upgrade:** the `public.eql_v3_json_search` storage domain and +> SteVec wire format are not compatible with earlier encrypted JSON rows. +> Re-encrypt those rows during the upgrade. Legacy EQL v2 +> `searchableJson()` columns are no longer supported by protect-ffi 0.30; +> migrate them to v3 `types.Json`. See the `stash-drizzle` and `stash-supabase` skills for the full integration guides. @@ -986,12 +992,11 @@ import { encryptedTable, encryptedColumn } from "@cipherstash/stack/schema" const users = encryptedTable("users", { email: encryptedColumn("email").equality().freeTextSearch().orderAndRange(), - metadata: encryptedColumn("metadata").searchableJson(), }) const client = await Encryption({ schemas: [users] }) ``` -The v2 API — `Encryption` plus the `@cipherstash/stack/schema` builders, the v2 Drizzle/Supabase integrations (`@cipherstash/stack-drizzle`, `encryptedSupabase`), and `stash eql install --eql-version 2` — **still exists and is supported for existing deployments**. Full v2 documentation lives at [cipherstash.com/docs](https://cipherstash.com/docs). Remember: v2 and v3 tables cannot be mixed in one client. (If you are migrating code from the old `@cipherstash/protect` package, its `protect`/`csTable`/`csColumn` names map onto this v2 surface.) +The scalar v2 API — `Encryption` plus the `@cipherstash/stack/schema` builders, the v2 Drizzle/Supabase integrations (`@cipherstash/stack-drizzle`, `encryptedSupabase`), and `stash eql install --eql-version 2` — still exists for existing deployments. Legacy v2 `searchableJson()` is the exception: protect-ffi 0.30 cannot emit the removed selector envelope, so migrate those columns to v3 `types.Json`. Full v2 documentation lives at [cipherstash.com/docs](https://cipherstash.com/docs). Remember: v2 and v3 tables cannot be mixed in one client. (If you are migrating code from the old `@cipherstash/protect` package, its `protect`/`csTable`/`csColumn` names map onto this v2 surface.) > **Exception — DynamoDB.** The DynamoDB integration (`encryptedDynamoDB` from `@cipherstash/stack/dynamodb`) **still requires the v2 schema surface** — `encryptedTable`/`encryptedColumn`/`encryptedField` from `@cipherstash/stack/schema`. Do not use v3 `types.*` schemas with it. See the `stash-dynamodb` skill; v3 support is tracked in [cipherstash/stack#657](https://github.com/cipherstash/stack/issues/657). diff --git a/skills/stash-prisma-next/SKILL.md b/skills/stash-prisma-next/SKILL.md index 55c6181d8..545eac098 100644 --- a/skills/stash-prisma-next/SKILL.md +++ b/skills/stash-prisma-next/SKILL.md @@ -65,7 +65,7 @@ model User { | `BigIntOrd()` | `eql_v3_bigint_ord` | equality, range, ORDER BY | | `DateOrd()` | `eql_v3_date_ord` | equality, range, ORDER BY | | `Boolean()` | `eql_v3_boolean` | storage-only (no operators) | -| `Json()` | `eql_v3_json` | containment (`@>`) | +| `Json()` | `eql_v3_json_search` | containment + JSONPath equality/range | Choose the column type by the queries you need: a value you only store and decrypt (never search) can use a storage-only domain; a value you filter or sort @@ -172,11 +172,13 @@ EQL-derived `eql*` vocabulary: |---|---|---| | `eqlEq(v)` / `eqlNeq(v)` | equality / inequality | any searchable domain | | `eqlIn(vs)` / `eqlNotIn(vs)` | membership | any searchable domain | -| `eqlMatch(term)` | free-text token match (`eql_v3.contains`) | `TextSearch` | +| `eqlMatch(term)` | free-text token match (`eql_v3.matches`) | `TextSearch` | | `eqlGt/eqlGte/eqlLt/eqlLte(v)` | range comparison | an `*Ord` domain | | `eqlBetween(lo,hi)` / `eqlNotBetween(lo,hi)` | range window | an `*Ord` domain | | `eqlAsc(col)` / `eqlDesc(col)` | ORDER BY (free functions, take the column) | an `*Ord` or `TextSearch` domain | | `eqlJsonContains(obj)` | encrypted JSON containment (`@>`) | `EncryptedJson` | +| `eqlJsonPathEq/Neq(path,v)` | exact value equality/inequality at a JSONPath | `EncryptedJson` | +| `eqlJsonPathGt/Gte/Lt/Lte(path,v)` | string/number ordering at a JSONPath | `EncryptedJson` | ```typescript // range @@ -189,6 +191,10 @@ await db.orm.public.User.where((u) => u.birthday.eqlBetween(lo, hi)).all() await db.orm.public.User.where((u) => u.accountId.eqlIn([100_000_000_001n])).all() // encrypted JSON containment await db.orm.public.User.where((u) => u.preferences.eqlJsonContains({ theme: 'dark' })).all() +// exact JSONPath equality (value-selector containment; GIN-indexable) +await db.orm.public.User.where((u) => u.preferences.eqlJsonPathEq('$.theme', 'dark')).all() +// JSONPath ordering (ciphertext-free selector + scalar term) +await db.orm.public.User.where((u) => u.preferences.eqlJsonPathGte('$.score', 80)).all() // ordering import { eqlAsc } from '@cipherstash/prisma-next/runtime' await db.orm.public.User.orderBy((u) => eqlAsc(u.salary)).all() diff --git a/skills/stash-supabase/SKILL.md b/skills/stash-supabase/SKILL.md index 5ba18ac41..a0ebe696b 100644 --- a/skills/stash-supabase/SKILL.md +++ b/skills/stash-supabase/SKILL.md @@ -1,6 +1,6 @@ --- name: stash-supabase -description: Integrate CipherStash encryption with Supabase using @cipherstash/stack-supabase. Covers the encryptedSupabaseV3 wrapper over native EQL v3 column domains, transparent encryption/decryption on insert/update/select, encrypted query filters (eq, matches, gt/gte/lt/lte, in, or, match), encrypted JSON querying (contains, selectorEq/selectorNe), ordering on encrypted columns, identity-aware encryption, and the complete query builder API. Use when adding encryption to a Supabase project, querying encrypted columns, or building secure Supabase applications. +description: Integrate CipherStash encryption with Supabase using @cipherstash/stack-supabase. Covers the encryptedSupabaseV3 wrapper over native EQL v3 column domains, transparent encryption/decryption on insert/update/select, encrypted scalar filters (eq, gt/gte/lt/lte, in, or), ordering on encrypted columns, EQL 3.0.2 PostgREST query-domain limitations, identity-aware encryption, and the complete query builder API. Use when adding encryption to a Supabase project, querying encrypted columns, or building secure Supabase applications. --- # CipherStash Stack - Supabase Integration @@ -8,9 +8,7 @@ description: Integrate CipherStash encryption with Supabase using @cipherstash/s Guide for integrating CipherStash field-level encryption with Supabase using the `encryptedSupabaseV3` wrapper over native EQL v3 column domains. The wrapper provides transparent encryption on mutations and decryption on -selects, with full support for querying encrypted columns — equality, range, -fuzzy free-text search, encrypted JSON containment and selectors, and -ordering. +selects, with support for equality, range, and ordering. A legacy EQL v2 wrapper (`encryptedSupabase`) still ships for existing deployments — see "Legacy: EQL v2" at the end. New projects should use @@ -19,8 +17,8 @@ deployments — see "Legacy: EQL v2" at the end. New projects should use ## When to Use This Skill - Adding field-level encryption to a Supabase project -- Querying encrypted data with Supabase's query builder (eq, matches, gt, in, or, etc.) -- Querying encrypted JSON documents (containment, path selectors) +- Querying encrypted data with Supabase's query builder (eq, gt, in, or, etc.) +- Understanding encrypted JSON query limitations in PostgREST - Inserting, updating, or upserting encrypted data - Using identity-aware encryption (lock contexts) with Supabase - Building applications where sensitive columns need encryption at rest and in transit @@ -88,7 +86,7 @@ CREATE TABLE users ( email public.eql_v3_text_search, -- eq + range + free-text search amount public.eql_v3_integer_ord, -- eq + range joined_at public.eql_v3_timestamp_ord, -- eq + range, decrypts to Date - payload public.eql_v3_json, -- encrypted JSON document + payload public.eql_v3_json_search, -- encrypted JSON document role VARCHAR(50), -- regular plaintext column created_at TIMESTAMPTZ DEFAULT NOW() ); @@ -152,8 +150,8 @@ const { data } = await es.from("users").select("id, email, joined").eq("email", A declared table gets a typed builder: rows infer each column's plaintext type (`types.IntegerOrd` → `number`, `types.TimestampOrd` → `Date`), -storage-only columns are excluded from every filter method, `matches()` is -narrowed to match-indexed columns, and `order()` to orderable columns. +storage-only columns are excluded from every filter method, and `order()` is +narrowed to orderable columns. Undeclared tables behave exactly as with no `schemas` at all. Every v3 column is fully described by its `types.*` factory — there are no capability or tuning chains on v3 columns. @@ -265,18 +263,11 @@ encrypted columns makes N ZeroKMS calls, run in parallel. ### Free-Text Search (`matches`) -```typescript -// Fuzzy bloom token search (requires a match-indexed domain, -// e.g. text_search / text_match). Matches substrings of >= 3 characters. -.matches("email", "alice") -``` - -`like`/`ilike` on an encrypted column are a **deprecated approximate shim** -that delegates to `matches()` — see "Query behaviour on encrypted columns" -below. On plaintext columns they stay real SQL LIKE. The shim is -**runtime-only**: neither the typed nor the untyped v3 builder interface -declares `like`/`ilike`, so in TypeScript the call is a compile error (use -`matches()`) — the shim is reachable only from plain JavaScript or via a cast. +EQL 3.0.2 requires a typed `eql_v3.query_*` right operand for encrypted +free-text matching. PostgREST cannot express that cast, so Supabase v3 +`matches()` fails fast with this EQL release. Use the Drizzle or Prisma Next +adapter, or expose a carefully scoped SQL/RPC path. Plaintext `like`/`ilike` +queries remain native PostgREST operations. ### Range/Comparison Filters @@ -354,30 +345,12 @@ All envelopes (stored payloads and filter operands) are versioned `v: 3`. - **`select('*')` (and bare `select()`) works** — it expands to the introspected column list. -- **Encrypted free-text search is `matches()`, not `contains()`/`like`/`ilike`.** - The v3 domains define no LIKE operator — encrypted free-text search is fuzzy - bloom-filter token matching (PostgREST `cs` / SQL `@>`): one-sided (a match - may be a false positive, a non-match never is) and order-/multiplicity- - insensitive, where `%` is tokenized like any other character. `matches(col, - needle)` is the operator; `contains()` on an encrypted TEXT column throws an - error pointing at `matches()`. `contains()` is native (exact) jsonb/array - containment on plaintext columns — and ENCRYPTED (exact) containment on a - `types.Json` column (see "Encrypted JSON querying" below). -- **`like`/`ilike` on an encrypted column are an approximate compatibility - shim** delegating to `matches()`: leading/trailing `%` are stripped and the - residual term is fuzzy-matched (same `cs` wire, plus a one-time warning). - Results are APPROXIMATE — case-insensitive, one-sided, and anchoring is not - honored. A pattern with an internal `%` or any `_` cannot be approximated and - throws; call `matches()` directly to make the fuzzy intent explicit. On - plaintext columns `like`/`ilike` stay real SQL LIKE. Note the shim is - reachable only at runtime: `like`/`ilike` are absent from the v3 builder - interfaces (typed and untyped alike), so on the TypeScript surface the call - is a compile error — only untyped JavaScript or a cast reaches the shim. -- **`matches()` matches substrings.** The search term blooms to its own - trigrams, and a row matches when the stored value's bloom contains all of - them — so any substring of at least 3 characters (the tokenizer's - `token_length`) matches. Shorter terms bloom to nothing and would match every - row, so they are rejected with an error rather than answered. +- **Encrypted free-text search is unavailable through PostgREST on EQL 3.0.2.** + The SQL surface uses `@@` with an `eql_v3.query_*` right operand. PostgREST's + filter grammar cannot express that cast; its `cs` operator is SQL `@>`, which + EQL deliberately rejects for text-search domains. Do not use `matches()`, + encrypted `like`/`ilike`, or raw `cs` as substitutes. `contains()` remains + native exact jsonb/array containment on plaintext columns. - **INTERIM — filter operands are full storage envelopes.** EQL ships term-only query domains (`eql_v3.query_`, which accept envelopes with no ciphertext) and the encryption client can mint those narrowed terms, but @@ -416,57 +389,16 @@ All envelopes (stored payloads and filter operands) are versioned `v: 3`. ## Encrypted JSON querying (`types.Json`) -A `types.Json("payload")` column (`public.eql_v3_json`) stores an encrypted -JSONB document and supports two query forms: +A `types.Json("payload")` column (`public.eql_v3_json_search`) can be stored and +decrypted through Supabase, but EQL 3.0.2 requires an explicit +`eql_v3.query_json` cast for containment and value-selector equality. +PostgREST cannot express that cast. The wrapper therefore fails fast for +encrypted `contains()`, `selectorEq()`, and `selectorNe()` before encrypting a +query operand; it never places a decryptable JSON storage envelope in the GET +query string. Use Drizzle or Prisma Next for containment and selector equality +or ordering, or expose a carefully scoped SQL/RPC function. -```typescript -// Exact encrypted containment: every leaf of the sub-document must match at -// its path (ste_vec `@>` — PostgREST `cs`). -es.from("events").select("id").contains("payload", { user: { role: "admin" } }) - -// JSONPath selector equality / inequality at a dot-notation path: -es.from("events").select("id").selectorEq("payload", "$.user.role", "admin") -es.from("events").select("id").selectorNe("payload", "$.user.role", "admin") -``` - -- `selectorEq(col, path, value)` matches rows carrying exactly `value` at - `path` — it compiles to containment of the path-shaped needle - (`{user: {role: "admin"}}`), which is the same operation. Paths are - dot-notation object keys (`"$.a.b"` or `"a.b"`); array/wildcard steps are - rejected, and values must be JSON scalars — string, number, or boolean (an - object operand belongs to `contains()`). On Supabase a `Date` or `bigint` - leaf is rejected with a serialization steer: pass a Date as - `date.toISOString()` and a bigint as its string/number form. (The Drizzle - selector accepts Date/bigint directly.) -- `selectorNe` matches rows that do NOT carry the value — **including rows - where the path is absent entirely, and rows whose document column is SQL - NULL** (it compiles to `payload.is.null OR payload.not.cs.`, matching - the Drizzle selector's `ne` semantics for both absence cases). -- **Array-valued paths:** a scalar needle does NOT match an array at the path — - ste_vec encodes array elements under their own selectors — so - `selectorEq("payload", "$.roles", "admin")` does not match - `{roles: ["admin", "analyst"]}` (and `selectorNe` includes that row). To - match an array-valued path, pass the full array through `contains()`. -- **Selector ordering (`gt`/`gte`/`lt`/`lte`) is not available on Supabase.** - PostgREST cannot reach the entry-comparison operators (it wraps JSON arrow - paths in `to_jsonb`, and bare-column comparison is blocked by design); it - needs an EQL-bundle overload, tracked in - cipherstash/encrypt-query-language#407. The Drizzle integration's - `ops.selector()` supports ordering today — use it where ordering at a path - is required. -- `matches()` does not apply to JSON columns (it is text free-text search) and - throws with a steer; scalar filters (`eq`, `gt`, `in`, …) on the column are - rejected by capability. -- The containment/selector operand is a **full storage envelope** of the - needle document. The GET-query-string security caveat above applies with an - important difference in degree: a JSON needle carries the root decryptable - ciphertext PLUS one ciphertext-bearing entry **per node of the sub-document** - — the exposure scales with needle size (the equivalent Drizzle containment - ships no ciphertext at all). Keep needles minimal; removing the ciphertext on - this surface is tracked in cipherstash/stack#654. -- Empty needles (`{}` / `[]`) are rejected — jsonb containment holds for every - document, so an accidentally-empty filter would silently return the whole - table (the Drizzle adapter rejects the same needle). +Plaintext jsonb/array `contains()` remains a native PostgREST operation. ## Authentication @@ -565,7 +497,7 @@ const { data } = await es .select("id, email, amount") .gte("amount", 18) .lte("amount", 35) - .matches("email", "alice") + .eq("email", "alice@example.com") // data is fully decrypted: // [{ id: 1, email: "alice@example.com", amount: 30 }] @@ -604,9 +536,9 @@ The column's `public.eql_v3_*` domain determines which filters it accepts: | Filter Method | Works On | |---|---| | `eq`, `neq`, `in`, `match()` | Equality-capable domains (`*_eq`, `*_ord`, `text_search`) | -| `matches()` (and the runtime-only `like`/`ilike` shim — absent from the TS interfaces) | Match-indexed domains (`text_match`, `text_search`) | +| `matches()` / encrypted `contains()` / `selectorEq()` / `selectorNe()` | Unavailable through PostgREST on EQL 3.0.2; use Drizzle, Prisma Next, or scoped SQL/RPC | | `gt`, `gte`, `lt`, `lte` | Range-capable domains (`*_ord`, `text_search`) | -| `contains()`, `selectorEq()`, `selectorNe()` | `eql_v3_json` (encrypted); `contains()` is also native containment on plaintext jsonb/array columns | +| `contains()` | Plaintext jsonb/array columns (native containment) | | `order()` | OPE-backed ordering domains (plain `*_ord`, `text_ord`, `text_search`) — never `*_ord_ore` | | `is` | Any column (no encryption; NULL check) | @@ -800,7 +732,10 @@ const { data } = await supabase.from('users').select('email').eq('id', id).singl const { data } = await es.from('users').select('email').eq('id', id).single() ``` -For queries that filter on `email`, the wrapper handles the encrypted operators internally — the call site is the same shape as before (`.eq()`, `.matches()`, `.gte()`, etc.), but the values are encrypted before reaching the database. See `## Query Filters` above. +For supported scalar queries that filter on `email`, the wrapper handles the +encrypted operators internally — calls such as `.eq()` and `.gte()` keep the +same shape, but values are encrypted before reaching the database. See +`## Query Filters` above for the EQL 3.0.2 PostgREST limitations. #### Drop: remove the plaintext column From 238e8b4315838f20aadf64a5958aa73d5331355a Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Mon, 20 Jul 2026 21:48:00 +1000 Subject: [PATCH 2/9] fix: address PR 711 review feedback --- .changeset/protect-ffi-030-json-selectors.md | 4 ++ .../app/20260714T2142_initial/migration.json | 2 +- .../migration.json | 2 +- .../migration.json | 9 +++ .../ops.json | 32 ++++++++++ .../migrations/cipherstash/refs/head.json | 2 +- examples/prisma/src/index.ts | 2 +- examples/prisma/test/e2e/README.md | 2 +- .../migration.json | 9 +++ .../migration.ts | 62 +++++++++++++++++++ .../ops.json | 32 ++++++++++ .../prisma-next/migrations/refs/head.json | 3 +- packages/prisma-next/src/exports/control.ts | 26 +++++++- .../src/extension-metadata/constants-v3.ts | 4 ++ .../src/migration/eql-bundle-v3.ts | 16 ++--- .../test/bundling-isolation.test.ts | 2 + packages/prisma-next/test/descriptor.test.ts | 15 ++++- .../prisma-next/test/v3/constants-v3.test.ts | 7 +++ .../prisma-next/test/v3/migration-v3.test.ts | 40 ++++++++++-- .../__tests__/supabase-v3-json.test.ts | 24 +++++++ .../stack-supabase/integration/adapter.ts | 9 ++- .../stack-supabase/src/query-builder-v3.ts | 30 ++++++--- .../encrypt-query-searchable-json.test.ts | 22 +++---- .../shared/matrix-sql.integration.test.ts | 31 +--------- 24 files changed, 310 insertions(+), 77 deletions(-) create mode 100644 examples/prisma/migrations/cipherstash/20260720T0000_upgrade_eql_v3_3_0_2/migration.json create mode 100644 examples/prisma/migrations/cipherstash/20260720T0000_upgrade_eql_v3_3_0_2/ops.json create mode 100644 packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.json create mode 100644 packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.ts create mode 100644 packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/ops.json diff --git a/.changeset/protect-ffi-030-json-selectors.md b/.changeset/protect-ffi-030-json-selectors.md index a272716dd..b25afc888 100644 --- a/.changeset/protect-ffi-030-json-selectors.md +++ b/.changeset/protect-ffi-030-json-selectors.md @@ -8,6 +8,10 @@ Upgrade Stack to `@cipherstash/protect-ffi` 0.30 and EQL 3.0.2. +Prisma Next includes a versioned EQL 3.0.2 upgrade migration, so databases +that have already recorded the original EQL v3 baseline still install the new +domains and functions. + Encrypted JSON now uses the `public.eql_v3_json_search` storage domain and `eql_v3.query_json` query domain. Drizzle selector equality uses exact, GIN-indexable value-selector containment, while selector ordering uses a diff --git a/examples/prisma/migrations/app/20260714T2142_initial/migration.json b/examples/prisma/migrations/app/20260714T2142_initial/migration.json index 0e5940526..668d328b9 100644 --- a/examples/prisma/migrations/app/20260714T2142_initial/migration.json +++ b/examples/prisma/migrations/app/20260714T2142_initial/migration.json @@ -3,5 +3,5 @@ "to": "sha256:deb36a1ab7e51717f5ca822a32ff09a18cf3a0aaf1189262852c8953adba1720", "providedInvariants": [], "createdAt": "2026-07-14T21:42:57.497Z", - "migrationHash": "sha256:e2e376a21c595db0754a1e59a7ce647822b1b4e342ba6fddc4403b8b333962ca" + "migrationHash": "sha256:09f7b2055a58e0b1567de888fca7c9b02ffb8c2970b0228ee30e813ad16dadc0" } \ No newline at end of file diff --git a/examples/prisma/migrations/cipherstash/20260601T0100_install_eql_v3_bundle/migration.json b/examples/prisma/migrations/cipherstash/20260601T0100_install_eql_v3_bundle/migration.json index c4a1bd9f5..5c479471e 100644 --- a/examples/prisma/migrations/cipherstash/20260601T0100_install_eql_v3_bundle/migration.json +++ b/examples/prisma/migrations/cipherstash/20260601T0100_install_eql_v3_bundle/migration.json @@ -5,5 +5,5 @@ "cipherstash:install-eql-v3-bundle-v1" ], "createdAt": "2026-07-14T20:10:24.325Z", - "migrationHash": "sha256:d1ca5a987ab10eb85c2fe05700134b31f17f694d2d5b3df3969e902610b1d9cf" + "migrationHash": "sha256:c33efc31bb927fa63361a7587052cdeff63fd133ab6f1af9a76ebdd7b7705e06" } \ No newline at end of file diff --git a/examples/prisma/migrations/cipherstash/20260720T0000_upgrade_eql_v3_3_0_2/migration.json b/examples/prisma/migrations/cipherstash/20260720T0000_upgrade_eql_v3_3_0_2/migration.json new file mode 100644 index 000000000..8fd530990 --- /dev/null +++ b/examples/prisma/migrations/cipherstash/20260720T0000_upgrade_eql_v3_3_0_2/migration.json @@ -0,0 +1,9 @@ +{ + "from": "sha256:1e86a0160ba305fa74516b6d9449218308b258a51a913c1fc907e629f44568a7", + "to": "sha256:1e86a0160ba305fa74516b6d9449218308b258a51a913c1fc907e629f44568a7", + "providedInvariants": [ + "cipherstash:upgrade-eql-v3-bundle-3.0.2-v1" + ], + "createdAt": "2026-07-20T11:40:17.876Z", + "migrationHash": "sha256:4a7582a2a6fbd6d83b2809599f34d894b1b79036af22fa8616d775d24591a79b" +} \ No newline at end of file diff --git a/examples/prisma/migrations/cipherstash/20260720T0000_upgrade_eql_v3_3_0_2/ops.json b/examples/prisma/migrations/cipherstash/20260720T0000_upgrade_eql_v3_3_0_2/ops.json new file mode 100644 index 000000000..a5d236cb9 --- /dev/null +++ b/examples/prisma/migrations/cipherstash/20260720T0000_upgrade_eql_v3_3_0_2/ops.json @@ -0,0 +1,32 @@ +[ + { + "id": "cipherstash.upgrade-eql-v3-bundle-3.0.2", + "label": "Upgrade EQL v3 bundle to eql-3.0.2", + "operationClass": "data", + "invariantId": "cipherstash:upgrade-eql-v3-bundle-3.0.2-v1", + "target": { + "id": "postgres" + }, + "precheck": [], + "execute": [ + { + "description": "Upgrade EQL v3 bundle to eql-3.0.2", + "sql": "--! @file v3/schema.sql\n--! @brief EQL v3 schema creation\n--!\n--! Creates the eql_v3 and eql_v3_internal schemas. User-column encrypted\n--! domains (public.eql_v3_integer, public.eql_v3_bigint, and future scalar domains) live in\n--! public so application tables survive EQL schema uninstall. eql_v3 is the\n--! public API for index-term extractors, aggregates, AND the operator-backing\n--! comparison wrappers\n--! (eq/neq/lt/lte/gt/gte/contains/contained_by, plus the jsonb containment\n--! helpers). The wrappers are public because they are the function-form\n--! equivalent of every supported operator: platforms without operator support\n--! (Supabase/PostgREST calls functions, not operators) invoke them by name.\n--! eql_v3_internal houses INTERNAL implementation objects only: the\n--! searchable-encrypted-metadata (SEM) index-term types\n--! (eql_v3_internal.hmac_256, eql_v3_internal.ore_block_256) and their support\n--! functions, the unsupported-operator blockers (which only raise), and the\n--! aggregate state functions. Together the two schemas are self-contained —\n--! they own every type they need and have no runtime dependency on another EQL\n--! schema.\n--!\n--! Drops existing schema if present to support clean reinstallation.\n--!\n--! @warning DROP SCHEMA CASCADE will remove all objects in the schema\n--! @note eql_v3 is a new, additional schema for the encrypted-domain families.\n--!\n--! @note DESIGN DECISION — EQL never grants permissions automatically. This\n--! installer issues no GRANT (or REVOKE) on eql_v3 or eql_v3_internal:\n--! access is strictly opt-in. A deployment that exposes EQL to\n--! non-owner roles (e.g. Supabase `authenticated`/`anon` via PostgREST)\n--! must explicitly `GRANT USAGE ON SCHEMA eql_v3` and `GRANT EXECUTE` on\n--! the functions it needs. This is intentional least-privilege, not an\n--! oversight — see docs/reference/permissions.md. eql_v3_internal is not\n--! part of the public API and normally needs no grant; where a caller\n--! reaches an internal object indirectly (a public operator/aggregate\n--! whose backing state-fn/blocker lives there), grant it deliberately.\n\n--! @brief Drop existing EQL v3 schema\n--! @warning CASCADE will drop all dependent objects\nDROP SCHEMA IF EXISTS eql_v3 CASCADE;\n\n--! @brief Create EQL v3 schema\n--! @note Houses the encrypted-domain type families\nCREATE SCHEMA eql_v3;\n\n--! @brief Drop existing EQL v3 internal schema\n--! @warning CASCADE will drop all dependent objects\nDROP SCHEMA IF EXISTS eql_v3_internal CASCADE;\n\n--! @brief Create EQL v3 internal implementation schema\n--! @note Houses INTERNAL eql_v3 objects only: SEM index-term TYPES + their\n--! support/constructor/comparator functions, the unsupported-operator\n--! blockers (which only raise), the aggregate state functions, and the\n--! SteVec CHECK validators. Kept out of the public `eql_v3` surface so\n--! internal index-term TYPES do not clutter the Supabase Table Builder\n--! type picker. NOTE: the operator-backing comparison *wrappers* are NOT\n--! here — they are public in `eql_v3` so every operator has a callable\n--! function equivalent for platforms without operator support.\nCREATE SCHEMA eql_v3_internal;\nCOMMENT ON SCHEMA eql_v3_internal IS\n 'EQL internal implementation detail; not a public API surface.';\n\n--! @brief Schemas owned by the eql_v3 surface\n--!\n--! Single source of truth for tooling that must enumerate every schema this\n--! installer owns (`eql_v3.lints()`, `tasks/pin_search_path_v3.sql`), so a\n--! future third eql_v3-family schema is one array literal to edit instead of\n--! a hardcoded schema-name predicate repeated at every call site. Keep in\n--! sync with the `SCHEMA` / `INTERNAL_SCHEMA` constants in\n--! `crates/eql-codegen/src/consts.rs` — those drive what codegen emits into\n--! each schema; this drives what tooling scans across both.\n--!\n--! @return name[] The schema names eql_v3 owns (public + internal).\nCREATE FUNCTION eql_v3_internal.owned_schemas()\n RETURNS name[]\n LANGUAGE sql IMMUTABLE PARALLEL SAFE\nAS $$\n SELECT ARRAY['eql_v3', 'eql_v3_internal']::name[]\n$$;\n\n--! @file v3/sem/ope_cllw/types.sql\n--! @brief CLLW OPE index term type for scalar range queries (eql_v3 SEM)\n--!\n--! Domain type representing a CLLW (Copyless Logarithmic Width)\n--! Order-Preserving Encryption term. The ciphertext is stored hex-encoded in\n--! the `op` field of encrypted scalar payloads (the `_ord` / `_ord_ope`\n--! domains); the domain carries the hex-decoded bytes.\n--!\n--! A DOMAIN over bytea, not a composite: the OPE ciphertext is\n--! order-preserving under plain byte comparison, so the domain inherits\n--! bytea's native comparison operators and DEFAULT btree operator class\n--! outright — no hand-written operators, comparator, or operator class (the\n--! same pattern as eql_v3_internal.hmac_256 over text). That keeps the whole\n--! comparison chain inlinable, so a functional btree index on\n--! `eql_v3.ord_term(col)` engages structurally for the `_ord` / `_ord_ope`\n--! domains' comparison operators. Contrast eql_v3_internal.ore_block_256 (`ob`),\n--! the block-ORE term behind the `_ord_ore` escape hatch, compared by a custom\n--! N-block protocol.\n--!\n--! @note Transient type used only during query execution.\n--! @see eql_v3_internal.ore_block_256\nCREATE DOMAIN eql_v3_internal.ope_cllw AS bytea;\n\n--! @file v3/sem/ope_cllw/functions.sql\n--! @brief CLLW OPE index-term extraction from a jsonb payload (eql_v3 SEM).\n\n--! @brief Extract CLLW OPE index term from JSONB payload\n--!\n--! Returns the CLLW OPE ciphertext from the `op` field of an encrypted scalar\n--! payload, hex-decoded to the bytea-backed eql_v3_internal.ope_cllw domain.\n--!\n--! Inlinable single-statement SQL — the body is a strict expression of the\n--! argument (`->>` and `decode` are both STRICT), so the planner folds this\n--! into the calling query and functional btree indexes built on\n--! `eql_v3.ord_term(col)` (which calls this) engage structurally, the\n--! same way the hmac_256 equality chain does.\n--!\n--! **Missing-`op` semantics**: `val ->> 'op'` is NULL when `op` is absent and\n--! the strict chain propagates it, so the extractor returns SQL NULL and\n--! btree's NULL handling filters those rows from range queries.\n--!\n--! @param val jsonb containing encrypted EQL payload\n--! @return eql_v3_internal.ope_cllw Hex-decoded CLLW OPE term, or NULL when `op` is\n--! absent\nCREATE FUNCTION eql_v3_internal.ope_cllw(val jsonb)\n RETURNS eql_v3_internal.ope_cllw\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT decode(val ->> 'op', 'hex')::eql_v3_internal.ope_cllw\n$$;\n\nCOMMENT ON FUNCTION eql_v3_internal.ope_cllw(jsonb) IS\n 'eql-inline-critical: raw-jsonb CLLW OPE extractor; must stay inlinable (unpinned search_path)';\n\n--! @file v3/sem/ore_block_256/types.sql\n--! @brief ORE block index-term types (eql_v3 SEM).\n--!\n--! Self-contained eql_v3 copies of the Order-Revealing Encryption block types\n--! (design D1/D3). The eql_v2 originals are unchanged.\n\n--! @brief ORE block term type for Order-Revealing Encryption\n--!\n--! Composite type representing a single ORE block term. Stores encrypted data\n--! as bytea that enables range comparisons without decryption.\nCREATE TYPE eql_v3_internal.ore_block_256_term AS (\n bytes bytea\n);\n\n\n--! @brief ORE block index term type for range queries\n--!\n--! Composite type containing an array of ORE block terms. The array is stored\n--! in the 'ob' field of encrypted data payloads.\n--!\n--! @note Transient type used only during query execution.\nCREATE TYPE eql_v3_internal.ore_block_256 AS (\n terms eql_v3_internal.ore_block_256_term[]\n);\n\n--! @file v3/crypto.sql\n--! @brief PostgreSQL pgcrypto extension enablement (eql_v3 fork)\n--!\n--! Forked from src/crypto.sql (design D8) so the entire eql_v3 dependency\n--! closure lives under src/v3/. Enables the pgcrypto extension which provides\n--! cryptographic functions used by the eql_v3 ORE comparison path.\n--!\n--! Installs pgcrypto into the `extensions` schema (Supabase convention) to\n--! avoid the `extension_in_public` lint. Every EQL function that uses pgcrypto\n--! has `pg_catalog, extensions, public` on its `search_path`, so a pre-existing\n--! install in `public` keeps working — and a pre-existing install anywhere else\n--! will be rejected at install time. The body is idempotent\n--! (`CREATE SCHEMA IF NOT EXISTS`, `pg_extension` guard), so running it\n--! alongside the eql_v2 copy in a combined install is safe.\n--!\n--! @note pgcrypto provides functions like digest(), hmac(), gen_random_bytes()\n\n--! @brief Create extensions schema (Supabase convention)\nCREATE SCHEMA IF NOT EXISTS extensions;\n\n--! @brief Enable pgcrypto extension and validate its schema\nDO $$\nDECLARE\n pgcrypto_schema name;\nBEGIN\n IF NOT EXISTS (SELECT 1 FROM pg_extension WHERE extname = 'pgcrypto') THEN\n CREATE EXTENSION pgcrypto WITH SCHEMA extensions;\n END IF;\n\n SELECT n.nspname INTO pgcrypto_schema\n FROM pg_extension e\n JOIN pg_namespace n ON n.oid = e.extnamespace\n WHERE e.extname = 'pgcrypto';\n\n IF pgcrypto_schema = 'extensions' THEN\n -- expected location, nothing to say\n NULL;\n ELSIF pgcrypto_schema = 'public' THEN\n RAISE NOTICE\n 'pgcrypto is installed in the `public` schema. EQL works against this layout, '\n 'but Supabase splinter will flag it as `extension_in_public`. Move it with: '\n 'ALTER EXTENSION pgcrypto SET SCHEMA extensions';\n ELSE\n RAISE EXCEPTION\n 'pgcrypto is installed in schema `%`, which is not on the EQL function search_path '\n '(pg_catalog, extensions, public). EQL cryptographic operations would fail at '\n 'runtime. Relocate the extension before installing EQL: '\n 'ALTER EXTENSION pgcrypto SET SCHEMA extensions',\n pgcrypto_schema;\n END IF;\nEND $$;\n\n--! @file v3/common.sql\n--! @brief Common utility functions for the self-contained eql_v3 surface.\n--!\n--! Forked from src/common.sql (design D7) so the eql_v3 ORE constructor owns the\n--! one transitive helper it needs without reaching into another schema. The\n--! eql_v2 original is unchanged.\n\n--! @brief Convert JSONB hex array to bytea array\n--! @internal\n--!\n--! Converts a JSONB array of hex-encoded strings into a PostgreSQL bytea array.\n--! Used for deserializing binary data (like ORE terms) from JSONB storage.\n--!\n--! @param val jsonb JSONB array of hex-encoded strings\n--! @return bytea[] Array of decoded binary values\n--!\n--! @note Returns NULL if input is JSON null\n--! @note Each array element is hex-decoded to bytea\n--! @note plpgsql, not `LANGUAGE sql` (issue #353). This helper's ONLY caller\n--! chain is `ore_block_256(val)` -> `jsonb_array_to_ore_block_256(val)` —\n--! both reached exclusively from plpgsql and btree operator-class support\n--! contexts, where SQL functions can NEVER be inlined and instead pay the\n--! per-call SQL-function executor (measured 3.5x the per-call cost of the\n--! plpgsql equivalent; +43% on ORE ordered scans end-to-end). plpgsql\n--! caches its plan across calls. The non-array guard preserves the v3\n--! behaviour (returns NULL for a non-array scalar; the v2 plpgsql original\n--! raised) — both callers only ever pass an array or JSON null (`val->'ob'`),\n--! so the divergence stays unreachable in practice; JSON null and empty\n--! array still return NULL exactly as before.\nCREATE FUNCTION eql_v3_internal.jsonb_array_to_bytea_array(val jsonb)\nRETURNS bytea[]\n IMMUTABLE\nAS $$\nDECLARE\n result bytea[];\nBEGIN\n IF val IS NULL OR jsonb_typeof(val) != 'array' THEN\n RETURN NULL;\n END IF;\n SELECT array_agg(decode(value::text, 'hex')::bytea)\n INTO result\n FROM jsonb_array_elements_text(val) AS value;\n RETURN result;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @internal Keep the inline-critical marker so the post-install\n--! pin_search_path pass leaves this unpinned: a `SET search_path` clause on a\n--! plpgsql function forces per-call configuration switching — measurable on a\n--! helper invoked per compared value in the ore_block_256 opclass hot path.\n--! It takes a bare `jsonb` arg (not a jsonb-backed encrypted DOMAIN), so the\n--! structural skip in tasks/pin_search_path_v3.sql does not recognise it;\n--! this marker is the documented manual opt-in.\nCOMMENT ON FUNCTION eql_v3_internal.jsonb_array_to_bytea_array(jsonb) IS\n 'eql-inline-critical: per-encrypted-value ORE opclass-path helper; must stay unpinned (SET search_path adds per-call overhead)';\n\n--! @file v3/sem/hmac_256/types.sql\n--! @brief HMAC-SHA256 index term type (eql_v3 SEM)\n--!\n--! Domain type representing HMAC-SHA256 hash values. Used for exact-match\n--! encrypted searches. The hash is stored in the 'hm' field of encrypted data\n--! payloads. Self-contained eql_v3 copy (design D1/D3); the eql_v2 original is\n--! unchanged.\n--!\n--! @note Transient type used only during query execution.\nCREATE DOMAIN eql_v3_internal.hmac_256 AS text;\n\n--! @file v3/sem/bloom_filter/types.sql\n--! @brief Self-contained eql_v3 Bloom-filter SEM index-term type.\n\n--! @brief Bloom-filter index term: a bit array stored as smallint[].\n--!\n--! Backs the `matches` fuzzy-match capability (the public `@@` operator /\n--! `eql_v3.matches`) on the text match/search domains. The filter is read from\n--! the `bf` field of an encrypted jsonb payload. The match wrapper body reduces\n--! to native `smallint[]` array-containment (`@>`) on this domain — inherited\n--! through the base type — so a functional GIN index on `eql_v3.match_term(col)`\n--! engages; this type itself needs no custom operators.\n--!\n--! @note The public operator is `@@` (fuzzy bloom-token matching), NOT the\n--! containment operators `@>`/`<@`: the match is a probabilistic, one-sided\n--! n-gram token match, not containment. `@>`/`<@` on the text match\n--! domains now raise. Internally the `@@` wrapper still reduces to the base\n--! type's `@>` for GIN indexability.\n--! @note Self-contained: references no eql_v2 symbol.\nCREATE DOMAIN eql_v3_internal.bloom_filter AS smallint[];\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/bigint/bigint_types.sql\n--! @brief Encrypted-domain types for bigint.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_bigint.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint IS 'EQL encrypted bigint (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_eq IS 'EQL encrypted bigint (equality)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_ord_ore IS 'EQL encrypted bigint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_ord IS 'EQL encrypted bigint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_bigint_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_bigint_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_bigint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_bigint_ord_ope IS 'EQL encrypted bigint (equality, ordering)';\nEND\n$$;\n\n--! @file v3/scalars/functions.sql\n--! @brief Shared blocker helper for the eql_v3 encrypted-domain families.\n--!\n--! Per-domain wrapper functions live in src/v3/scalars//.\n--! Blockers in those files delegate to encrypted_domain_unsupported_bool\n--! so every domain raises a uniform domain-specific error rather than\n--! letting an unsupported operator fall through to native jsonb\n--! behaviour.\n\n--! @brief Shared blocker helper. Raises 'operator X is not supported\n--! for TYPE' so unsupported domain operators surface a clear\n--! error rather than fall through to native jsonb behaviour.\n--! @param type_name Domain type name (eql_v3.*)\n--! @param operator_name Operator symbol (=, <, @>, ->, etc.)\n--! @return boolean (never returns; always raises)\nCREATE FUNCTION eql_v3_internal.encrypted_domain_unsupported_bool(type_name text, operator_name text)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RAISE EXCEPTION 'operator % is not supported for %', operator_name, type_name;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Shared blocker helper returning jsonb. Identical to\n--! encrypted_domain_unsupported_bool but typed for blockers shadowing\n--! native operators whose result is jsonb (#>, -, #-, ||), so composed\n--! expressions resolve and the body raises rather than failing earlier\n--! with a misleading 'operator does not exist' on a boolean result.\n--! @param type_name Domain type name (eql_v3.*)\n--! @param operator_name Operator symbol (#>, -, #-, ||, etc.)\n--! @return jsonb (never returns; always raises)\nCREATE FUNCTION eql_v3_internal.encrypted_domain_unsupported_jsonb(type_name text, operator_name text)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RAISE EXCEPTION 'operator % is not supported for %', operator_name, type_name;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Shared blocker helper returning text. Identical to\n--! encrypted_domain_unsupported_bool but typed for blockers shadowing\n--! the native #>> operator whose result is text.\n--! @param type_name Domain type name (eql_v3.*)\n--! @param operator_name Operator symbol (#>>)\n--! @return text (never returns; always raises)\nCREATE FUNCTION eql_v3_internal.encrypted_domain_unsupported_text(type_name text, operator_name text)\nRETURNS text\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RAISE EXCEPTION 'operator % is not supported for %', operator_name, type_name;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @file v3/sem/hmac_256/functions.sql\n--! @brief HMAC-SHA256 index-term extraction from a jsonb payload (eql_v3 SEM).\n--!\n--! jsonb-only subset of src/hmac_256/functions.sql. The encrypted-column and\n--! ste_vec-entry overloads are intentionally omitted — the eql_v3 scalar\n--! domains extract from the jsonb payload directly via a cast to the domain.\n--! (Doc comments deliberately avoid naming eql_v2 symbols so the\n--! self-containment grep stays clean.)\n\n--! @brief Extract HMAC-SHA256 index term from JSONB payload\n--!\n--! Inlinable single-statement SQL — the planner can fold this into the calling\n--! query so functional hash/btree indexes built on `eql_v3_internal.eq_term(col)`\n--! (which calls this) engage structurally.\n--!\n--! @param val jsonb containing encrypted EQL payload\n--! @return eql_v3_internal.hmac_256 HMAC-SHA256 hash value, or NULL when `hm` is absent\nCREATE FUNCTION eql_v3_internal.hmac_256(val jsonb)\n RETURNS eql_v3_internal.hmac_256\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (val ->> 'hm')::eql_v3_internal.hmac_256\n$$;\n\n\n--! @brief Check if JSONB payload contains HMAC-SHA256 index term\n--!\n--! @param val jsonb containing encrypted EQL payload\n--! @return boolean True if 'hm' field is present and non-null\nCREATE FUNCTION eql_v3_internal.has_hmac_256(val jsonb)\n RETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (val ->> 'hm') IS NOT NULL\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_functions.sql\n--! @brief Functions for public.eql_v3_bigint_ord.\n\n--! @brief Index extractor for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_bigint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_bigint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_bigint_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord, selector text)\nRETURNS public.eql_v3_bigint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_bigint_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord, selector integer)\nRETURNS public.eql_v3_bigint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return public.eql_v3_bigint_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_ord)\nRETURNS public.eql_v3_bigint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_bigint_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_bigint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_bigint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_bigint_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_bigint_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ope, selector text)\nRETURNS public.eql_v3_bigint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_bigint_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ope, selector integer)\nRETURNS public.eql_v3_bigint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return public.eql_v3_bigint_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_ord_ope)\nRETURNS public.eql_v3_bigint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @file v3/sem/ore_block_256/functions.sql\n--! @brief ORE block construction, extraction, and comparison (eql_v3 SEM).\n--!\n--! jsonb-only subset of src/ore_block_u64_8_256/functions.sql. The\n--! encrypted-column overloads are omitted; the helper jsonb_array_to_bytea_array\n--! and pgcrypto encrypt() are reached via the forked src/v3/common.sql and\n--! src/v3/crypto.sql so the whole closure stays under src/v3. (Doc comments\n--! deliberately avoid naming eql_v2 symbols so the self-containment grep stays\n--! clean.)\n\n--! @brief Convert JSONB array to ORE block composite type\n--! @internal\n--! @param val jsonb Array of hex-encoded ORE block terms\n--! @return eql_v3_internal.ore_block_256 ORE block composite, or NULL if input is null\n--! @note plpgsql, not `LANGUAGE sql` (issue #353). The sole caller\n--! (`ore_block_256`) is itself plpgsql, so this function is NEVER reached\n--! from an inlinable context — as `LANGUAGE sql` it paid the per-call\n--! SQL-function executor on every compared value in the opclass hot path\n--! (measured: +43% on ORE ordered scans vs the plpgsql form). The\n--! non-array guard preserves the v3 behaviour (returns NULL for a\n--! non-array scalar; the v2 plpgsql original raised); the caller only\n--! reaches this when `has_ore_block_256(val)` is true, which requires\n--! `val->'ob'` to be a JSON array, so that branch stays unreachable.\n--! An empty array (`ob: []`, what encrypting the empty string `\"\"` produces)\n--! yields a non-NULL composite with an EMPTY `terms` array — NOT NULL terms.\n--! The `COALESCE` is load-bearing: `array_agg` over zero rows returns NULL, and\n--! NULL terms make the comparator return NULL (so an empty-text row silently\n--! drops out of ordered queries). An empty array instead engages the\n--! comparator's `cardinality = 0` guard, which sorts empty BEFORE every\n--! non-empty term. See issue #262 (pinned by T7).\nCREATE FUNCTION eql_v3_internal.jsonb_array_to_ore_block_256(val jsonb)\nRETURNS eql_v3_internal.ore_block_256\n IMMUTABLE\nAS $$\nDECLARE\n terms eql_v3_internal.ore_block_256_term[];\nBEGIN\n IF val IS NULL OR jsonb_typeof(val) != 'array' THEN\n RETURN NULL;\n END IF;\n SELECT array_agg(ROW(b)::eql_v3_internal.ore_block_256_term)\n INTO terms\n FROM unnest(eql_v3_internal.jsonb_array_to_bytea_array(val)) AS b;\n -- plpgsql pitfall: `SELECT INTO ` assigns the\n -- select-list columns FIELD-WISE into the variable — return the row\n -- constructor directly instead. The COALESCE stays load-bearing for the\n -- empty-`ob` case (issue #262): array_agg over zero rows yields NULL, and\n -- the comparator needs an EMPTY terms array, not NULL terms.\n RETURN ROW(COALESCE(terms, ARRAY[]::eql_v3_internal.ore_block_256_term[]))::eql_v3_internal.ore_block_256;\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @internal Keep the inline-critical marker so the post-install\n--! pin_search_path pass leaves this unpinned: a `SET search_path` clause on a\n--! plpgsql function forces per-call configuration switching — measurable on a\n--! helper invoked per compared value in the ore_block_256 opclass hot path.\n--! It takes a bare `jsonb` arg (not a jsonb-backed encrypted DOMAIN), so the\n--! structural skip in tasks/pin_search_path_v3.sql does not recognise it;\n--! this marker is the documented manual opt-in.\nCOMMENT ON FUNCTION eql_v3_internal.jsonb_array_to_ore_block_256(jsonb) IS\n 'eql-inline-critical: per-encrypted-value ORE opclass-path helper; must stay unpinned (SET search_path adds per-call overhead)';\n\n\n--! @brief Extract ORE block index term from JSONB payload\n--! @param val jsonb containing encrypted EQL payload\n--! @return eql_v3_internal.ore_block_256 ORE block index term\n--! @throws Exception if 'ob' field is missing\nCREATE FUNCTION eql_v3_internal.ore_block_256(val jsonb)\n RETURNS eql_v3_internal.ore_block_256\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n -- Declared STRICT: PostgreSQL returns NULL for a NULL argument without\n -- entering the body, so no explicit `val IS NULL` guard is needed.\n IF eql_v3_internal.has_ore_block_256(val) THEN\n RETURN eql_v3_internal.jsonb_array_to_ore_block_256(val->'ob');\n END IF;\n RAISE 'Expected an ore index (ob) value in json: %', val;\n END;\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Check if JSONB payload contains an ORE block index term\n--! @param val jsonb containing encrypted EQL payload\n--! @return boolean True only if the 'ob' field is present and is a JSON array\n--! @note A well-formed ORE index term is always a JSON array of block terms, so\n--! this guard treats a present-but-non-array `ob` (a scalar or object) as\n--! absent. That makes the extractor `ore_block_256(val)` RAISE on a\n--! structurally invalid `ob` payload at the boundary instead of silently\n--! degrading it to a NULL index term in `jsonb_array_to_ore_block_256`. The\n--! previous `val ->> 'ob' IS NOT NULL` form stringified scalars/objects and so\n--! reported them as present. `{}` (absent `ob`) and `{\"ob\": null}` (JSON null)\n--! both remain `false`.\nCREATE FUNCTION eql_v3_internal.has_ore_block_256(val jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n RETURN COALESCE(jsonb_typeof(val -> 'ob') = 'array', false);\n END;\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Compare two ORE block terms using cryptographic comparison\n--! @internal\n--! @param a eql_v3_internal.ore_block_256_term First ORE term\n--! @param b eql_v3_internal.ore_block_256_term Second ORE term\n--! @return integer -1 if a < b, 0 if a = b, 1 if a > b\n--! @throws Exception if ciphertexts are different lengths\n--! @note Marked `IMMUTABLE` (the three `compare_ore_block_256_term(s)`\n--! overloads all are). This deliberately diverges from the v2 originals,\n--! which carry no volatility marker and so default to `VOLATILE`. The\n--! comparison is deterministic — its only crypto call, pgcrypto `encrypt()`,\n--! is itself `IMMUTABLE STRICT PARALLEL SAFE` — so `IMMUTABLE` lets the\n--! planner fold/cache these in ordering and index contexts. NOT `STRICT`:\n--! the NULL-handling branches below are load-bearing for the array overload.\nCREATE FUNCTION eql_v3_internal.compare_ore_block_256_term(a eql_v3_internal.ore_block_256_term, b eql_v3_internal.ore_block_256_term)\n RETURNS integer\n IMMUTABLE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n eq boolean := true;\n unequal_block smallint := 0;\n hash_key bytea;\n data_block bytea;\n encrypt_block bytea;\n target_block bytea;\n\n left_block_size CONSTANT smallint := 16;\n right_block_size CONSTANT smallint := 32;\n\n -- Block count N is DERIVED from the ciphertext length, not hardcoded to 8.\n -- Wire format per term:\n -- [ N PRP bytes ][ N*16B left blocks ][ 16B hash key ][ N*32B right blocks ]\n -- octet_length = 17*N + 16 + 32*N = 49*N + 16 => N = (octet_length - 16) / 49\n -- This serves integer (N=8, 408B), timestamp (N=12, 604B), and numeric\n -- (N=14, 702B) with one comparator.\n n integer;\n left_offset integer; -- ordinal offset of the first left block (1 + N PRP bytes)\n right_offset integer; -- ordinal start of the right CT (= total left CT length = 17*N)\n\n indicator smallint := 0;\n BEGIN\n IF a IS NULL AND b IS NULL THEN\n RETURN 0;\n END IF;\n\n IF a IS NULL THEN\n RETURN -1;\n END IF;\n\n IF b IS NULL THEN\n RETURN 1;\n END IF;\n\n IF bit_length(a.bytes) != bit_length(b.bytes) THEN\n RAISE EXCEPTION 'Ciphertexts are different lengths';\n END IF;\n\n -- Well-formedness: length must be exactly 49*N + 16 for some N >= 1. The\n -- modulo alone is insufficient -- a 16-byte term passes (16 - 16) % 49 = 0\n -- and derives N = 0, which would fall through to the all-blocks-equal path\n -- and return 0 instead of raising. The `<= 16` clause is load-bearing.\n IF octet_length(a.bytes) <= 16 OR (octet_length(a.bytes) - 16) % 49 != 0 THEN\n RAISE EXCEPTION 'Malformed ORE term: % bytes', octet_length(a.bytes);\n END IF;\n\n n := (octet_length(a.bytes) - 16) / 49;\n left_offset := 1 + n; -- left blocks begin right after the N PRP bytes\n right_offset := 17 * n; -- right CT begins right after the 17*N-byte left CT\n\n FOR block IN 0..n-1 LOOP\n -- Compare each PRP byte (the first N bytes) and its 16-byte left block.\n IF\n substr(a.bytes, 1 + block, 1) != substr(b.bytes, 1 + block, 1)\n OR substr(a.bytes, left_offset + left_block_size * block, left_block_size) != substr(b.bytes, left_offset + left_block_size * block, left_block_size)\n THEN\n IF eq THEN\n unequal_block := block;\n END IF;\n eq = false;\n END IF;\n END LOOP;\n\n IF eq THEN\n RETURN 0::integer;\n END IF;\n\n -- Hash key is the IV from the right CT of b.\n hash_key := substr(b.bytes, right_offset + 1, 16);\n\n -- First right block is at right_offset + nonce_size (ordinally indexed).\n target_block := substr(b.bytes, right_offset + 17 + (unequal_block * right_block_size), right_block_size);\n\n data_block := substr(a.bytes, left_offset + (left_block_size * unequal_block), left_block_size);\n\n encrypt_block := encrypt(data_block::bytea, hash_key::bytea, 'aes-ecb');\n\n indicator := (\n get_bit(\n encrypt_block,\n 0\n ) + get_bit(target_block, get_byte(a.bytes, unequal_block))) % 2;\n\n IF indicator = 1 THEN\n RETURN 1::integer;\n ELSE\n RETURN -1::integer;\n END IF;\n END;\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Compare arrays of ORE block terms recursively\n--! @internal\n--! @param a eql_v3_internal.ore_block_256_term[] First array\n--! @param b eql_v3_internal.ore_block_256_term[] Second array\n--! @return integer -1/0/1, or NULL if either array is NULL\nCREATE FUNCTION eql_v3_internal.compare_ore_block_256_terms(a eql_v3_internal.ore_block_256_term[], b eql_v3_internal.ore_block_256_term[])\nRETURNS integer\n IMMUTABLE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n cmp_result integer;\n BEGIN\n IF a IS NULL OR b IS NULL THEN\n RETURN NULL;\n END IF;\n\n IF cardinality(a) = 0 AND cardinality(b) = 0 THEN\n RETURN 0;\n END IF;\n\n IF (cardinality(a) = 0) AND cardinality(b) > 0 THEN\n RETURN -1;\n END IF;\n\n IF cardinality(a) > 0 AND (cardinality(b) = 0) THEN\n RETURN 1;\n END IF;\n\n cmp_result := eql_v3_internal.compare_ore_block_256_term(a[1], b[1]);\n\n IF cmp_result = 0 THEN\n RETURN eql_v3_internal.compare_ore_block_256_terms(a[2:array_length(a,1)], b[2:array_length(b,1)]);\n END IF;\n\n RETURN cmp_result;\n END\n$$ LANGUAGE plpgsql;\n\n\n--! @brief Compare ORE block composite types\n--! @internal\n--! @param a eql_v3_internal.ore_block_256 First ORE block\n--! @param b eql_v3_internal.ore_block_256 Second ORE block\n--! @return integer -1/0/1\nCREATE FUNCTION eql_v3_internal.compare_ore_block_256_terms(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS integer\n IMMUTABLE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n RETURN eql_v3_internal.compare_ore_block_256_terms(a.terms, b.terms);\n END\n$$ LANGUAGE plpgsql;\n\n--! @file v3/sem/ore_block_256/operators.sql\n--! @brief Comparison operators on eql_v3_internal.ore_block_256.\n--!\n--! The six backing functions are inlinable single-statement SQL so the planner\n--! can fold the eql_v3 comparison wrappers through to functional-index matching.\n\n--! @brief Equality backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the ORE blocks are equal\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_eq(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) = 0\n$$;\n\n--! @brief Not-equal backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the ORE blocks are not equal\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_neq(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) <> 0\n$$;\n\n--! @brief Less-than backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is less than the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_lt(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) = -1\n$$;\n\n--! @brief Less-than-or-equal backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is less than or equal to the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_lte(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) != 1\n$$;\n\n--! @brief Greater-than backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is greater than the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_gt(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) = 1\n$$;\n\n--! @brief Greater-than-or-equal backing function for ORE block types\n--! @internal\n--!\n--! @param a eql_v3_internal.ore_block_256 Left operand\n--! @param b eql_v3_internal.ore_block_256 Right operand\n--! @return boolean True if the left operand is greater than or equal to the right operand\n--!\n--! @see eql_v3_internal.compare_ore_block_256_terms\nCREATE FUNCTION eql_v3_internal.ore_block_256_gte(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\nRETURNS boolean\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.compare_ore_block_256_terms(a, b) != -1\n$$;\n\n\n--! @brief = operator for ORE block types\n--!\n--! COMMUTATOR is the operator itself: equality is symmetric. Required for the\n--! MERGES flag — without it the planner raises \"could not find commutator\" the\n--! first time an ore_block equality is used as a join qual (e.g. via the inlined\n--! eql_v3_internal._ord_ore equality wrappers).\nCREATE OPERATOR public.= (\n FUNCTION=eql_v3_internal.ore_block_256_eq,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.=),\n NEGATOR = OPERATOR(public.<>),\n RESTRICT = eqsel,\n JOIN = eqjoinsel,\n HASHES,\n MERGES\n);\n\n--! @brief <> operator for ORE block types\nCREATE OPERATOR public.<> (\n FUNCTION=eql_v3_internal.ore_block_256_neq,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.<>),\n NEGATOR = OPERATOR(public.=),\n RESTRICT = neqsel,\n JOIN = neqjoinsel,\n MERGES\n);\n\n--! @brief > operator for ORE block types\nCREATE OPERATOR public.> (\n FUNCTION=eql_v3_internal.ore_block_256_gt,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.<),\n NEGATOR = OPERATOR(public.<=),\n RESTRICT = scalargtsel,\n JOIN = scalargtjoinsel\n);\n\n--! @brief < operator for ORE block types\nCREATE OPERATOR public.< (\n FUNCTION=eql_v3_internal.ore_block_256_lt,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.>),\n NEGATOR = OPERATOR(public.>=),\n RESTRICT = scalarltsel,\n JOIN = scalarltjoinsel\n);\n\n--! @brief <= operator for ORE block types\nCREATE OPERATOR public.<= (\n FUNCTION=eql_v3_internal.ore_block_256_lte,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.>=),\n NEGATOR = OPERATOR(public.>),\n RESTRICT = scalarlesel,\n JOIN = scalarlejoinsel\n);\n\n--! @brief >= operator for ORE block types\nCREATE OPERATOR public.>= (\n FUNCTION=eql_v3_internal.ore_block_256_gte,\n LEFTARG=eql_v3_internal.ore_block_256,\n RIGHTARG=eql_v3_internal.ore_block_256,\n COMMUTATOR = OPERATOR(public.<=),\n NEGATOR = OPERATOR(public.<),\n RESTRICT = scalargesel,\n JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/real/real_types.sql\n--! @brief Encrypted-domain types for real.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_real.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real IS 'EQL encrypted real (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_real_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_eq IS 'EQL encrypted real (equality)';\n\n --! @brief Encrypted domain public.eql_v3_real_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_ord_ore IS 'EQL encrypted real (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_real_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_ord IS 'EQL encrypted real (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_real_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_real_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_real_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_real_ord_ope IS 'EQL encrypted real (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_real_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_real_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_real_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_real_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_real_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ore, selector text)\nRETURNS public.eql_v3_real_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_real_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ore, selector integer)\nRETURNS public.eql_v3_real_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return public.eql_v3_real_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_ord_ore)\nRETURNS public.eql_v3_real_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_real_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_real_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_real_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_real_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ope, selector text)\nRETURNS public.eql_v3_real_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_real_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord_ope, selector integer)\nRETURNS public.eql_v3_real_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return public.eql_v3_real_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_ord_ope)\nRETURNS public.eql_v3_real_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/smallint/smallint_types.sql\n--! @brief Encrypted-domain types for smallint.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_smallint.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint IS 'EQL encrypted smallint (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_eq IS 'EQL encrypted smallint (equality)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_ord_ore IS 'EQL encrypted smallint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_ord IS 'EQL encrypted smallint (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_smallint_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_smallint_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_smallint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_smallint_ord_ope IS 'EQL encrypted smallint (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_eq_functions.sql\n--! @brief Functions for public.eql_v3_smallint_eq.\n\n--! @brief Index extractor for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_smallint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_smallint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_smallint_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_smallint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_smallint_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_smallint_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_eq, selector text)\nRETURNS public.eql_v3_smallint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_smallint_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_eq, selector integer)\nRETURNS public.eql_v3_smallint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return public.eql_v3_smallint_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_eq)\nRETURNS public.eql_v3_smallint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/date/date_types.sql\n--! @brief Encrypted-domain types for date.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_date.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date IS 'EQL encrypted date (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_date_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_eq IS 'EQL encrypted date (equality)';\n\n --! @brief Encrypted domain public.eql_v3_date_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_ord_ore IS 'EQL encrypted date (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_date_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_ord IS 'EQL encrypted date (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_date_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_date_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_date_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_date_ord_ope IS 'EQL encrypted date (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/numeric/numeric_types.sql\n--! @brief Encrypted-domain types for numeric.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_numeric.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric IS 'EQL encrypted numeric (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_eq IS 'EQL encrypted numeric (equality)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_ord_ore IS 'EQL encrypted numeric (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_ord IS 'EQL encrypted numeric (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_numeric_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_numeric_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_numeric_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_numeric_ord_ope IS 'EQL encrypted numeric (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/double/double_types.sql\n--! @brief Encrypted-domain types for double.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_double.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double IS 'EQL encrypted double (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_double_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_eq IS 'EQL encrypted double (equality)';\n\n --! @brief Encrypted domain public.eql_v3_double_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_ord_ore IS 'EQL encrypted double (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_double_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_ord IS 'EQL encrypted double (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_double_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_double_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_double_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_double_ord_ope IS 'EQL encrypted double (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_eq_functions.sql\n--! @brief Functions for public.eql_v3_double_eq.\n\n--! @brief Index extractor for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_double_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_double_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_double_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_double_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_double_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_double_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_eq, selector text)\nRETURNS public.eql_v3_double_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_double_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_eq, selector integer)\nRETURNS public.eql_v3_double_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double_eq right operand of the blocked operator\n--! @return public.eql_v3_double_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_eq)\nRETURNS public.eql_v3_double_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double_eq right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_double_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_eq, b public.eql_v3_double_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/integer/integer_types.sql\n--! @brief Encrypted-domain types for integer.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_integer.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer IS 'EQL encrypted integer (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_integer_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_eq IS 'EQL encrypted integer (equality)';\n\n --! @brief Encrypted domain public.eql_v3_integer_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_ord_ore IS 'EQL encrypted integer (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_integer_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_ord IS 'EQL encrypted integer (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_integer_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_integer_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_integer_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_integer_ord_ope IS 'EQL encrypted integer (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_functions.sql\n--! @brief Functions for public.eql_v3_integer_ord.\n\n--! @brief Index extractor for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_integer_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_integer_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_integer_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord, selector text)\nRETURNS public.eql_v3_integer_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_integer_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord, selector integer)\nRETURNS public.eql_v3_integer_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer_ord right operand of the blocked operator\n--! @return public.eql_v3_integer_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_ord)\nRETURNS public.eql_v3_integer_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer_ord right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord, b public.eql_v3_integer_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/integer/query_integer_types.sql\n--! @brief Query-operand domains for integer (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_integer_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_integer_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_eq IS 'EQL integer query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_integer_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_ord_ore IS 'EQL integer query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_integer_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_ord IS 'EQL integer query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_integer_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_integer_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_integer_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_integer_ord_ope IS 'EQL integer query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_integer_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_integer_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_integer_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_integer_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_integer_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ope, selector text)\nRETURNS public.eql_v3_integer_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_integer_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ope, selector integer)\nRETURNS public.eql_v3_integer_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return public.eql_v3_integer_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_ord_ope)\nRETURNS public.eql_v3_integer_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_integer_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_integer_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a public.eql_v3_integer_ord_ope\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ope, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ope.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord_ope, b public.eql_v3_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_functions.sql\n--! @brief Functions for eql_v3.query_integer_ord.\n\n--! @brief Index extractor for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_integer_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a public.eql_v3_integer_ord\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord, b public.eql_v3_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/timestamp/timestamp_types.sql\n--! @brief Encrypted-domain types for timestamp.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_timestamp.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp IS 'EQL encrypted timestamp (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_eq IS 'EQL encrypted timestamp (equality)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_ord_ore IS 'EQL encrypted timestamp (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_ord IS 'EQL encrypted timestamp (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_timestamp_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_timestamp_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_timestamp_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_timestamp_ord_ope IS 'EQL encrypted timestamp (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/text/text_types.sql\n--! @brief Encrypted-domain types for text.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_text.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text IS 'EQL encrypted text (storage only)';\n\n --! @brief Encrypted domain public.eql_v3_text_eq.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_eq' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_eq IS 'EQL encrypted text (equality)';\n\n --! @brief Encrypted domain public.eql_v3_text_match.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_match' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_match AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'bf'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_match IS 'EQL encrypted text (matching)';\n\n --! @brief Encrypted domain public.eql_v3_text_ord_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_ord_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_ord_ore IS 'EQL encrypted text (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_text_ord.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_ord' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_ord IS 'EQL encrypted text (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_text_ord_ope.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_ord_ope' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_ord_ope IS 'EQL encrypted text (equality, ordering)';\n\n --! @brief Encrypted domain public.eql_v3_text_search_ore.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_search_ore' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_search_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND VALUE ? 'bf'\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_search_ore IS 'EQL encrypted text (equality, ordering, matching)';\n\n --! @brief Encrypted domain public.eql_v3_text_search.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_text_search' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_text_search AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE ? 'bf'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_text_search IS 'EQL encrypted text (equality, ordering, matching)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_functions.sql\n--! @brief Functions for public.eql_v3_text_ord.\n\n--! @brief Index extractor for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_ord)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_text_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_text_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b public.eql_v3_text_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b public.eql_v3_text_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_text_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord, selector text)\nRETURNS public.eql_v3_text_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_text_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord, selector integer)\nRETURNS public.eql_v3_text_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_ord right operand of the blocked operator\n--! @return public.eql_v3_text_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_ord)\nRETURNS public.eql_v3_text_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_ord right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b public.eql_v3_text_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b public.eql_v3_text_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord, b public.eql_v3_text_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @file v3/sem/bloom_filter/functions.sql\n--! @brief Extractor for the eql_v3 Bloom-filter SEM index term.\n--!\n--! jsonb-only subset of src/bloom_filter/functions.sql. The encrypted-column\n--! overloads are intentionally omitted — the eql_v3 scalar domains extract from\n--! the jsonb payload directly via a cast to the domain. (Doc comments\n--! deliberately avoid naming eql_v2 symbols so the self-containment grep stays\n--! clean.)\n\n--! @brief Test whether a jsonb payload carries a Bloom-filter (`bf`) term.\n--!\n--! @param val jsonb The encrypted payload.\n--! @return boolean True when the `bf` key is present and non-null.\n--!\n--! @internal Defined for parity with the eql_v3 SEM index-term predicates\n--! (`has_hmac_256` / `has_ore_block_256`); it is not currently called by\n--! the extractor below, which gates on value-shape inline, nor by the generated\n--! domain CHECK, which tests `bf` presence via the envelope-key skeleton. Kept\n--! as the canonical presence test for callers that need one.\nCREATE FUNCTION eql_v3_internal.has_bloom_filter(val jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n RETURN val ? 'bf' AND val ->> 'bf' IS NOT NULL;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract the Bloom-filter index term from a jsonb payload.\n--!\n--! Inlinable single-statement SQL — the planner can fold this into the calling\n--! query so the functional GIN index built on `eql_v3_internal.match_term(col)` (which\n--! calls this) engages structurally. Mirrors `eql_v3_internal.hmac_256(jsonb)`: no RAISE\n--! and no pinned `search_path`. Returns NULL when `bf` is absent or present but\n--! not a json array, rather than raising. The `text_match` domain CHECK\n--! guarantees the `bf` *key* is present but not that it is an array, so a\n--! non-array `bf` (e.g. `{\"bf\": null}`) can reach here even on a typed value;\n--! gating on `jsonb_typeof(...) = 'array'` returns NULL for that case — and for\n--! raw jsonb outside the domain — instead of erroring inside\n--! `jsonb_array_elements`. NULL, like the HMAC extractor, is the right answer. An\n--! empty `bf` array yields an empty filter (contains nothing, contained by\n--! everything), matching set-containment semantics.\n--!\n--! @param val jsonb The encrypted payload.\n--! @return eql_v3_internal.bloom_filter The `bf` array as a smallint[] domain value, or\n--! NULL when `bf` is absent or not a json array.\nCREATE FUNCTION eql_v3_internal.bloom_filter(val jsonb)\n RETURNS eql_v3_internal.bloom_filter\n LANGUAGE sql\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT CASE WHEN jsonb_typeof(val -> 'bf') = 'array'\n THEN ARRAY(SELECT jsonb_array_elements(val -> 'bf'))::eql_v3_internal.bloom_filter\n END\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_eq_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_eq.\n\n--! @brief Index extractor for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_timestamp_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_timestamp_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_timestamp_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_timestamp_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_timestamp_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_timestamp_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_eq, selector text)\nRETURNS public.eql_v3_timestamp_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_timestamp_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_eq, selector integer)\nRETURNS public.eql_v3_timestamp_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return public.eql_v3_timestamp_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_eq)\nRETURNS public.eql_v3_timestamp_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @file v3/json/types.sql\n--! @brief Domain types for the eql_v3 encrypted-JSONB (SteVec) surface.\n--!\n--! Three jsonb-backed domains (none over another domain — operators resolve\n--! against the ultimate base type jsonb, so the native-jsonb firewall in\n--! blockers.sql can attach):\n--! - public.eql_v3_json_search — storage/root: an EQL envelope object ({i, v, ...}).\n--! - public.eql_v3_json_entry — a single sv element (returned by `->`).\n--! - eql_v3.query_json — a containment needle (sv elements, no ciphertext).\n\n--! @brief Validate a single SteVec entry payload.\n--! @internal\n--! @param val jsonb Candidate entry payload.\n--! @return boolean True when `val` is an sv entry with string `s`, string `c`,\n--! and — for an ordered (number/string) path entry only — a string\n--! `op` ordering term. Value entries (value-inclusive selectors) and\n--! non-orderable path entries (bool/null/object/array) are term-less\n--! `{s, c}`: exact matching is selector presence, so an entry carries\n--! no per-value equality term. `hm` is retired and must be absent —\n--! a stale `hm`-bearing payload fails loudly rather than degrading to\n--! a value-less entry. The optional document metadata `i`, `v`, and\n--! `h` is accepted because selector lookup grafts it onto the entry\n--! before casting to `public.eql_v3_json_entry`.\nCREATE OR REPLACE FUNCTION public.eql_v3_is_valid_ste_vec_entry_payload(val jsonb)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT COALESCE(\n jsonb_typeof(val) = 'object'\n AND jsonb_typeof(val -> 's') = 'string'\n AND jsonb_typeof(val -> 'c') = 'string'\n AND NOT (val ? 'hm')\n AND (NOT (val ? 'a') OR jsonb_typeof(val -> 'a') = 'boolean')\n AND (NOT (val ? 'op') OR jsonb_typeof(val -> 'op') = 'string')\n AND val - ARRAY['s', 'c', 'a', 'op', 'i', 'v', 'h']::text[] = '{}'::jsonb,\n false\n )\n$$;\n\n--! @brief Validate a SteVec containment query payload.\n--! @internal\n--! @param val jsonb Candidate query payload.\n--! @return boolean True when `val` is `{\"sv\":[...]}` and every element carries\n--! a string `s`, no ciphertext, an optional string `op` (present only\n--! on ordered path entries), and no `hm`. A containment needle is a\n--! set of selectors — a value-selector's presence in the stored\n--! document IS the exact value match.\n--! @note plpgsql, not LANGUAGE sql (issues #353/#354): the only caller is the\n--! eql_v3.query_json domain CHECK, where a SQL function can never be\n--! inlined (and the CHECK itself cannot absorb this body — it needs a\n--! subquery over the sv elements, which CHECK constraints forbid). plpgsql\n--! caches its plan across calls instead of paying the per-call SQL-function\n--! executor on every needle cast.\nCREATE OR REPLACE FUNCTION public.eql_v3_is_valid_ste_vec_query_payload(val jsonb)\n RETURNS boolean\n LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\nBEGIN\n RETURN COALESCE(\n jsonb_typeof(val) = 'object'\n AND jsonb_typeof(val -> 'sv') = 'array'\n AND val - 'sv' = '{}'::jsonb\n AND NOT EXISTS (\n SELECT 1\n FROM jsonb_array_elements(\n CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END\n ) AS elem\n WHERE NOT COALESCE((\n jsonb_typeof(elem) = 'object'\n AND jsonb_typeof(elem -> 's') = 'string'\n AND NOT (elem ? 'c')\n AND NOT (elem ? 'hm')\n AND (NOT (elem ? 'op') OR jsonb_typeof(elem -> 'op') = 'string')\n AND elem - ARRAY['s', 'op']::text[] = '{}'::jsonb\n ), false)\n ),\n false\n );\nEND;\n$$;\n\n--! @brief Validate a root SteVec document payload.\n--! @internal\n--! @param val jsonb Candidate document payload.\n--! @return boolean True when `val` is an encrypted document envelope with\n--! `v = 3`, `i`, a string key header `h`, an `sv` array, and valid\n--! sv entry elements. `h` carries the document's key-retrieval\n--! material once (every entry encrypts under the document's single\n--! data key; entry `c` values are raw AEAD output whose nonces are\n--! derived from the entries' selectors) — it is opaque to SQL and\n--! only ever carried/grafted, never parsed. Unknown envelope keys are\n--! rejected; `k` and `a` remain optional compatibility fields.\nCREATE OR REPLACE FUNCTION public.eql_v3_is_valid_ste_vec_document_payload(val jsonb)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT COALESCE(\n jsonb_typeof(val) = 'object'\n AND val ? 'v'\n AND val ->> 'v' = '3'\n AND val ? 'i'\n AND jsonb_typeof(val -> 'h') = 'string'\n AND jsonb_typeof(val -> 'sv') = 'array'\n AND val - ARRAY['v', 'k', 'i', 'h', 'sv', 'a']::text[] = '{}'::jsonb\n AND NOT EXISTS (\n SELECT 1\n FROM jsonb_array_elements(\n CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END\n ) AS elem\n WHERE NOT public.eql_v3_is_valid_ste_vec_entry_payload(elem)\n ),\n false\n )\n$$;\n\n--! @brief Storage/root domain for an encrypted JSONB column.\n--!\n--! CHECK: a JSON object carrying the EQL envelope (`v = 3` version, `i` index\n--! metadata, and the key header `h`). Root `c` is intentionally NOT required —\n--! an sv-array root payload is `{i, v, h, sv}` with no root ciphertext (the\n--! root document ciphertext lives on the root sv entry). The CHECK also\n--! requires an `sv` array, so the domain accepts only SteVec **document**\n--! payloads and rejects encrypted *scalar* payloads (which carry `c`/`hm`/`ob`\n--! but no `sv`) — this is what keeps `public.eql_v3_json_search` a typed\n--! document domain rather than a generic encrypted envelope. The firewall in\n--! blockers.sql attaches to this domain to stop native jsonb operators from\n--! reaching a column value.\n--!\n--! @note Constructing from inline JSON uses the standard DOMAIN cast:\n--! `'{\"i\":{},\"v\":3,\"h\":\"...\",\"sv\":[...]}'::public.eql_v3_json_search`.\nDO $$\nBEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_json_search' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_json_search AS jsonb\n CHECK (\n public.eql_v3_is_valid_ste_vec_document_payload(VALUE)\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_json_search IS 'EQL encrypted JSONB searchable document (containment)';\nEND\n$$;\n\n--! @brief Domain type for an individual sv element.\n--!\n--! A single element inside an `sv` array: a JSON object that carries a selector\n--! (`s`) and a ciphertext (`c`), plus — for an ordered (number/string) path\n--! entry only — a string `op` (CLLW OPE, for ordered queries). Value entries\n--! (value-inclusive selectors) and non-orderable path entries are term-less\n--! `{s, c}`: exact matching is selector presence, so there is no per-value\n--! equality term (`hm` is retired and rejected). This is the type returned by\n--! `->` and accepted by the per-entry extractors `eql_v3.ope_term` /\n--! `eql_v3.ord_term`. The deprecated `eq_term(json_entry)` name aliases\n--! `ope_term`. The optional array marker `a` and root `i`/`v`/`h`\n--! metadata merged in by `->` are the only additional fields accepted.\n--!\n--! @see src/v3/json/operators.sql\n--!\n--! @internal\n--! Implementation note (issue #354): the CHECK is an INLINE expression, not a\n--! call to `public.eql_v3_is_valid_ste_vec_entry_payload` — domain\n--! constraints cannot inline SQL functions, so the function-call form paid\n--! the per-call SQL-function executor (~18 µs) on EVERY cast: the needle\n--! cast in every field_eq query (+19% end-to-end vs v2, the entire measured\n--! regression on that scenario; see cipherstash/benches#23). The expression\n--! mirrors the validator body; the leading `VALUE IS NULL OR` preserves the\n--! validator's STRICT NULL-passes semantics (a bare COALESCE(..., false)\n--! would reject NULL, which `->` returns for a missing selector). Keep the\n--! two in sync — `jsonb_entry_check_matches_validator` in tests/sqlx pins\n--! the equivalence.\n--! @endinternal\nDO $$\nBEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_json_entry' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_json_entry AS jsonb\n CHECK (\n VALUE IS NULL\n OR COALESCE(\n jsonb_typeof(VALUE) = 'object'\n AND jsonb_typeof(VALUE -> 's') = 'string'\n AND jsonb_typeof(VALUE -> 'c') = 'string'\n AND NOT (VALUE ? 'hm')\n AND (NOT (VALUE ? 'a') OR jsonb_typeof(VALUE -> 'a') = 'boolean')\n AND (NOT (VALUE ? 'op') OR jsonb_typeof(VALUE -> 'op') = 'string')\n AND VALUE - ARRAY['s', 'c', 'a', 'op', 'i', 'v', 'h']::text[] = '{}'::jsonb,\n false\n )\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_json_entry IS 'EQL encrypted JSONB leaf entry (equality, ordering)';\nEND\n$$;\n\n--! @brief Domain type for an STE-vec containment needle.\n--!\n--! A query-shaped payload `{\"sv\":[...]}` whose elements carry selector + index\n--! term but **never** a ciphertext (`c`). Each element carries `s`, an optional\n--! `op` (ordered path entries only), and no `hm` — a containment needle is a\n--! set of selectors, and a value-selector's presence in the stored document is\n--! the exact value match. Typing the needle this way stops raw jsonb from\n--! casting and matching every row via bare `jsonb @>`.\n--!\n--! @note Construct from inline JSON via the DOMAIN cast:\n--! `'{\"sv\":[{\"s\":\"\"}]}'::eql_v3.query_json`.\n--! @see eql_v3.to_ste_vec_query\n--!\n--! @internal\n--! Implementation note (issue #354): this CHECK CANNOT be inlined like\n--! public.eql_v3_json_entry's — validating the sv elements requires a subquery\n--! (`NOT EXISTS (SELECT ... FROM jsonb_array_elements(...))`), and CHECK\n--! constraints forbid subqueries. The validator is plpgsql instead (cached\n--! plan; substantially cheaper per call than a non-inlined LANGUAGE sql\n--! function — the same finding as issue #353), since this cast sits on the\n--! per-query hot path of every containment scenario\n--! (`$1::jsonb::eql_v3.query_json`).\n--! @endinternal\nDO $$\nBEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_json' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_json AS jsonb\n CHECK (\n public.eql_v3_is_valid_ste_vec_query_payload(VALUE)\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_json IS 'EQL JSONB query operand (containment)';\nEND\n$$;\n\n--! @brief Convert a public.eql_v3_json_search to a query_json needle.\n--!\n--! Normalises each sv element down to its selector `s`. Exact and structural\n--! containment are both selector-set containment; an `op` carried by a legacy\n--! or document-derived needle is accepted at the boundary for compatibility\n--! but is not part of the containment predicate. Other fields are stripped.\n--! This is the canonical needle shape for `@>` containment and the functional\n--! GIN index expression:\n--! `GIN (eql_v3.to_ste_vec_query(col)::jsonb jsonb_path_ops)`.\n--!\n--! @param e public.eql_v3_json_search Source encrypted payload\n--! @return eql_v3.query_json Query-shaped needle, sv elements normalised.\n--! @see eql_v3.query_json\nCREATE FUNCTION eql_v3.to_ste_vec_query(e public.eql_v3_json_search)\n RETURNS eql_v3.query_json\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT jsonb_build_object(\n 'sv',\n coalesce(\n (SELECT jsonb_agg(\n jsonb_strip_nulls(\n jsonb_build_object(\n 's', elem -> 's'\n )\n )\n )\n FROM jsonb_array_elements(e::jsonb -> 'sv') AS elem),\n '[]'::jsonb\n )\n )::eql_v3.query_json\n$$;\n\n--! @brief Normalise an already query-shaped needle to selector-only form.\n--!\n--! Some producers derive a query from a complete encrypted document and may\n--! therefore carry the path entry's `op`. Containment is selector-set\n--! containment, so this overload strips `op` before comparison and keeps every\n--! public containment entry point semantically identical.\nCREATE FUNCTION eql_v3.to_ste_vec_query(e eql_v3.query_json)\n RETURNS eql_v3.query_json\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT jsonb_build_object(\n 'sv',\n coalesce(\n (SELECT jsonb_agg(jsonb_build_object('s', elem -> 's'))\n FROM jsonb_array_elements(e::jsonb -> 'sv') AS elem),\n '[]'::jsonb\n )\n )::eql_v3.query_json\n$$;\n\nCREATE CAST (public.eql_v3_json_search AS eql_v3.query_json)\n WITH FUNCTION eql_v3.to_ste_vec_query(public.eql_v3_json_search)\n AS ASSIGNMENT;\n\n--! @file v3/json/functions.sql\n--! @brief Extractors, containment engine, and path/array functions for the\n--! eql_v3 encrypted-JSONB (SteVec) surface.\n--!\n--! `selector` parameters here are *encrypted-side* selector hashes — the\n--! deterministic hash the crypto layer emits in the `s` field of each sv\n--! element. Plaintext JSONPaths are never accepted at runtime.\n\n------------------------------------------------------------------------------\n-- Envelope helpers (eql_v3 owns these; jsonb-only)\n------------------------------------------------------------------------------\n\n--! @brief Extract envelope metadata (i, v, h) from a raw jsonb encrypted value.\n--!\n--! `h` is the document's key header — hoisted once to the envelope because\n--! every sv entry encrypts under the document's single data key. Grafting it\n--! here (the same `meta_data(val) || entry` concat that already grafts `i`/`v`)\n--! is what keeps an extracted `public.eql_v3_json_entry` self-contained\n--! decryptable: decryption needs the header plus the entry's own `s` (the\n--! nonce source) and `c` (the raw AEAD output). `jsonb_strip_nulls` drops the\n--! keys entirely on payloads that lack them (e.g. a raw scalar envelope has\n--! no `h`), rather than grafting JSON nulls.\n--!\n--! @param val jsonb encrypted EQL payload\n--! @return jsonb Metadata object with `i`, `v`, and (for documents) `h`.\nCREATE FUNCTION eql_v3.meta_data(val jsonb)\n RETURNS jsonb\n IMMUTABLE STRICT PARALLEL SAFE\n LANGUAGE SQL\nAS $$\n SELECT jsonb_strip_nulls(\n jsonb_build_object('i', val->'i', 'v', val->'v', 'h', val->'h')\n );\n$$;\n\nCOMMENT ON FUNCTION eql_v3.meta_data(jsonb) IS\n 'eql-inline-critical: raw-jsonb envelope helper used by v3 jsonb wrappers; must stay inlinable (unpinned search_path)';\n\n--! @brief Extract ciphertext (c) from a raw jsonb encrypted value.\n--! @param val jsonb encrypted EQL payload\n--! @return text The `c` field verbatim (base85 text).\n--! @throws Exception if `c` is absent.\n--! @note On the SteVec surface an entry's `c` is raw AEAD output and is NOT\n--! decryptable on its own: the decryption unit is the entry — its `s`\n--! (nonce source), `c`, and the document key header `h` (grafted onto\n--! extracted entries by `->`; see eql_v3.meta_data). Scalar payloads'\n--! `c` remains a self-describing encrypted record.\nCREATE FUNCTION eql_v3.ciphertext(val jsonb)\n RETURNS text\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n IF val ? 'c' THEN\n RETURN val->>'c';\n END IF;\n RAISE 'Expected a ciphertext (c) value in json: %', val;\n END;\n$$ LANGUAGE plpgsql;\n\n------------------------------------------------------------------------------\n-- Selector extractors\n------------------------------------------------------------------------------\n\n--! @brief Extract selector (s) from a raw jsonb encrypted value.\n--! @param val jsonb encrypted EQL payload\n--! @return text The selector value.\n--! @throws Exception if `s` is absent.\nCREATE FUNCTION eql_v3.selector(val jsonb)\n RETURNS text\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n IF val ? 's' THEN\n RETURN val->>'s';\n END IF;\n RAISE 'Expected a selector index (s) value in json: %', val;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract selector (s) from a ste_vec entry. The DOMAIN CHECK\n--! guarantees `s` is present, so this is a simple field access.\n--! @param entry public.eql_v3_json_entry\n--! @return text The selector value.\nCREATE FUNCTION eql_v3.selector(entry public.eql_v3_json_entry)\n RETURNS text\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT entry ->> 's'\n$$;\n\n------------------------------------------------------------------------------\n-- Raw OPE-term extractor\n------------------------------------------------------------------------------\n\n--! @brief Low-level deterministic OPE byte extractor for a json entry.\n--!\n--! Returns the bytea of the entry's deterministic `op` (CLLW OPE) term, or NULL\n--! for a term-less entry (a value entry, or a bool/null/structural path entry —\n--! which carry no term because exact matching there is selector presence, not a\n--! per-entry term). Entry-to-entry `=` / `<>` are blocked: these bytes are an\n--! ordering encoding, not an exact equality representation.\n--!\n--! `op` is deterministic (equal plaintext at a fixed selector ⇒ equal bytes),\n--! so byte equality on it is a sound equality for number/string leaves — with\n--! the same encoding caveat as the scalar `_ord` surface (f64 rounding, string\n--! collation make it lossy for `bigint`/`numeric`/`text`). Exact, loss-free\n--! equality on a JSON field is selector presence (containment / the value\n--! selector), not this term. This extractor remains available only for callers\n--! that deliberately need encoded OPE-equivalence buckets. `hm` is retired —\n--! entries no longer carry it.\n--!\n--! @param entry public.eql_v3_json_entry\n--! @return bytea Decoded `op` bytes (NULL if the entry has no `op`, or is NULL).\nCREATE FUNCTION eql_v3.ope_term(entry public.eql_v3_json_entry)\n RETURNS bytea\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT decode(entry ->> 'op', 'hex')\n$$;\n\n--! @brief Deprecated compatibility alias for eql_v3.ope_term(json_entry).\n--! @deprecated Use eql_v3.ope_term for raw OPE-equivalence inspection, or\n--! eql_v3.ord_term for ordered comparisons. This term is not an\n--! exact equality representation.\n--! @param entry public.eql_v3_json_entry\n--! @return bytea Decoded `op` bytes (NULL when the entry has no `op`).\nCREATE FUNCTION eql_v3.eq_term(entry public.eql_v3_json_entry)\n RETURNS bytea\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ope_term(entry)\n$$;\n\nCOMMENT ON FUNCTION eql_v3.eq_term(public.eql_v3_json_entry) IS\n 'DEPRECATED: use eql_v3.ope_term(json_entry); OPE bytes are not exact equality terms';\n\n------------------------------------------------------------------------------\n-- CLLW OPE per-entry overload (converged with the scalar ord_term)\n------------------------------------------------------------------------------\n\n--! @brief Extract the CLLW OPE index term from a ste_vec entry.\n--!\n--! An sv-element `op` term is only ever present on an sv element, never at a\n--! root encrypted value, so the typed overload accepts public.eql_v3_json_entry —\n--! the jsonb_entry twin of the generated scalar `eql_v3.ord_term`\n--! extractors. Returns SQL NULL when `op` is absent (the strict `->>` /\n--! `decode` chain propagates it), so btree NULL-filters such rows from range\n--! queries. The returned eql_v3_internal.ope_cllw is a bytea domain: it orders\n--! under native byte comparison with the DEFAULT btree opclass, so a\n--! functional index on `eql_v3.ord_term(col -> 'selector')` engages\n--! structurally with no custom operator class (Supabase/managed-Postgres\n--! safe).\n--!\n--! @param entry public.eql_v3_json_entry\n--! @return eql_v3_internal.ope_cllw Hex-decoded CLLW OPE term, or NULL when\n--! `op` is absent.\nCREATE FUNCTION eql_v3.ord_term(entry public.eql_v3_json_entry)\n RETURNS eql_v3_internal.ope_cllw\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3_internal.ope_cllw(entry::jsonb)\n$$;\n\n------------------------------------------------------------------------------\n-- sv-array helpers\n------------------------------------------------------------------------------\n\n--! @brief Extract the sv element array as raw jsonb[].\n--!\n--! Returns the elements of `sv` (or a single-element array wrapping the value\n--! when there is no `sv`). No envelope re-wrapping — raw jsonb elements.\n--!\n--! @param val jsonb encrypted EQL payload\n--! @return jsonb[] Array of sv elements.\nCREATE FUNCTION eql_v3.ste_vec(val jsonb)\n RETURNS jsonb[]\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb;\n ary jsonb[];\n BEGIN\n IF val ? 'sv' THEN\n sv := val->'sv';\n ELSE\n sv := jsonb_build_array(val);\n END IF;\n\n SELECT array_agg(elem)\n INTO ary\n FROM jsonb_array_elements(sv) AS elem;\n\n RETURN ary;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Check if a jsonb payload is marked as an sv array (`a` flag true).\n--! @param val jsonb encrypted EQL payload\n--! @return boolean True if `a` is present and true.\nCREATE FUNCTION eql_v3_internal.is_ste_vec_array(val jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n BEGIN\n IF val ? 'a' THEN\n RETURN (val->>'a')::boolean;\n END IF;\n RETURN false;\n END;\n$$ LANGUAGE plpgsql;\n\n------------------------------------------------------------------------------\n-- Deterministic-fields array for GIN containment\n------------------------------------------------------------------------------\n\n--! @brief Extract deterministic containment fields (s) per sv element.\n--!\n--! Excludes non-deterministic ciphertext so PostgreSQL's native jsonb `@>` can\n--! compare for containment. Use for GIN indexes and containment queries.\n--! Exact and structural containment are selector-set containment, so ordering\n--! terms are deliberately excluded.\n--!\n--! @param val jsonb encrypted EQL payload\n--! @return jsonb[] Array of objects with only deterministic fields.\nCREATE FUNCTION eql_v3.jsonb_array(val jsonb)\nRETURNS jsonb[]\nIMMUTABLE STRICT PARALLEL SAFE\nLANGUAGE SQL\nAS $$\n SELECT ARRAY(\n SELECT jsonb_object_agg(kv.key, kv.value)\n FROM jsonb_array_elements(\n CASE WHEN val ? 'sv' THEN val->'sv' ELSE jsonb_build_array(val) END\n ) AS elem,\n LATERAL jsonb_each(elem) AS kv(key, value)\n WHERE kv.key = 's'\n GROUP BY elem\n );\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_array(jsonb) IS\n 'eql-inline-critical: raw-jsonb deterministic-field array helper; must stay inlinable (unpinned search_path)';\n\n------------------------------------------------------------------------------\n-- Containment\n------------------------------------------------------------------------------\n\n--! @brief GIN-indexable containment check: does `a` contain all of `b`?\n--! @param a jsonb Container payload.\n--! @param b jsonb Search payload.\n--! @return boolean True if a contains all deterministic elements of b.\n--! @note Public raw-`jsonb[]` containment helper over the extracted\n--! deterministic fields — the function-form entrypoint for containment on\n--! platforms without operator support (Supabase/PostgREST). The typed\n--! `public.eql_v3_json_search` `@>` operator does NOT call this function — it binds to\n--! `eql_v3.ste_vec_contains` instead — but both agree on the result (a\n--! parity test pins this). Also the documented GIN index expression\n--! (`eql_v3.jsonb_array(col)`); see docs/reference/database-indexes.md.\nCREATE FUNCTION eql_v3.jsonb_contains(a jsonb, b jsonb)\nRETURNS boolean\nIMMUTABLE STRICT PARALLEL SAFE\nLANGUAGE SQL\nAS $$\n SELECT eql_v3.jsonb_array(a) @> eql_v3.jsonb_array(b);\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_contains(jsonb, jsonb) IS\n 'eql-inline-critical: raw-jsonb containment helper; must stay inlinable (unpinned search_path)';\n\n--! @brief GIN-indexable \"is contained by\" check.\n--! @param a jsonb Payload to check.\n--! @param b jsonb Container payload.\n--! @return boolean True if all elements of a are contained in b.\n--! @note Public raw-`jsonb[]` reverse-containment helper — the function-form\n--! entrypoint for `<@` on platforms without operator support. The typed\n--! `public.eql_v3_json_search` `<@` operator binds to `eql_v3.ste_vec_contains` instead,\n--! but both agree on the result.\nCREATE FUNCTION eql_v3.jsonb_contained_by(a jsonb, b jsonb)\nRETURNS boolean\nIMMUTABLE STRICT PARALLEL SAFE\nLANGUAGE SQL\nAS $$\n SELECT eql_v3.jsonb_array(a) <@ eql_v3.jsonb_array(b);\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_contained_by(jsonb, jsonb) IS\n 'eql-inline-critical: raw-jsonb contained-by helper; must stay inlinable (unpinned search_path)';\n\n--! @brief Check if an sv array contains a specific sv element.\n--!\n--! Match = **selector equal**. Containment reduces to selector-set subset\n--! testing: a leaf's value is tokenized into its **value selector**\n--! (`SEL(tag ‖ path ‖ value)`), so the presence of a needle's value selector\n--! in the stored `sv` IS the exact value match — a keyed-MAC comparison,\n--! injective per (path, value), immune to the ordering encoding's losses\n--! (f64 rounding, string collation). Structural containment rides the same\n--! test: a needle's path selector (`SEL(path)`, value-independent) matches any\n--! stored node at that path, and the needle's value selectors constrain the\n--! values. No per-entry term comparison is involved — the value is in the\n--! selector, not in a term.\n--!\n--! @param a jsonb[] sv array to search within.\n--! @param b jsonb sv element to search for.\n--! @return boolean True if b's selector is present in any element of a.\nCREATE FUNCTION eql_v3.ste_vec_contains(a jsonb[], b jsonb)\n RETURNS boolean\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n result boolean;\n _a jsonb;\n BEGIN\n result := false;\n\n FOR idx IN 1..array_length(a, 1) LOOP\n _a := a[idx];\n result := result OR (eql_v3.selector(_a) = eql_v3.selector(b));\n EXIT WHEN result;\n END LOOP;\n\n RETURN result;\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Does encrypted value `a` contain all sv elements of `b`?\n--!\n--! Empty b is always contained. Each element of b must have its selector\n--! present in some element of a (selector-subset containment).\n--!\n--! @param a public.eql_v3_json_search Container.\n--! @param b public.eql_v3_json_search Elements to find.\n--! @return boolean True if all elements of b are contained in a.\n--! @see eql_v3.ste_vec_contains(jsonb[], jsonb)\nCREATE FUNCTION eql_v3.ste_vec_contains(a public.eql_v3_json_search, b public.eql_v3_json_search)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.to_ste_vec_query(a)::jsonb\n @> eql_v3.to_ste_vec_query(b)::jsonb\n$$;\n\n------------------------------------------------------------------------------\n-- Path queries (text selector only)\n------------------------------------------------------------------------------\n\n--! @brief Query encrypted JSONB for sv elements matching `selector`.\n--!\n--! Returns one jsonb_entry row per matching encrypted element. Returns empty\n--! set on no match. It deliberately does not wrap multiple matches as an\n--! public.eql_v3_json_search document, because the root document domain requires an `sv`\n--! array and single leaves belong to public.eql_v3_json_entry.\n--!\n--! @param val jsonb encrypted EQL payload with `sv`.\n--! @param selector text Selector hash (`s` value).\n--! @return SETOF public.eql_v3_json_entry Matching encrypted entries.\n--! @see eql_v3.jsonb_path_query_first\nCREATE FUNCTION eql_v3.jsonb_path_query(val jsonb, selector text)\n RETURNS SETOF public.eql_v3_json_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (eql_v3.meta_data(val) || elem)::public.eql_v3_json_entry\n FROM jsonb_array_elements(val -> 'sv') elem\n WHERE elem ->> 's' = selector\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_path_query(jsonb, text) IS\n 'eql-inline-critical: raw-jsonb path query helper; must stay inlinable (unpinned search_path)';\n\n--! @brief Check if a selector path exists in encrypted JSONB.\n--! @param val jsonb encrypted EQL payload.\n--! @param selector text Selector hash to test.\n--! @return boolean True if a matching element exists.\nCREATE FUNCTION eql_v3.jsonb_path_exists(val jsonb, selector text)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT EXISTS (\n SELECT 1 FROM jsonb_array_elements(val -> 'sv') elem\n WHERE elem ->> 's' = selector\n );\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_path_exists(jsonb, text) IS\n 'eql-inline-critical: raw-jsonb path exists helper; must stay inlinable (unpinned search_path)';\n\n--! @brief Get the first sv element matching `selector`, or NULL.\n--! @param val jsonb encrypted EQL payload.\n--! @param selector text Selector hash to match.\n--! @return public.eql_v3_json_entry First matching element or NULL.\nCREATE FUNCTION eql_v3.jsonb_path_query_first(val jsonb, selector text)\n RETURNS public.eql_v3_json_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (eql_v3.meta_data(val) || elem)::public.eql_v3_json_entry\n FROM jsonb_array_elements(val -> 'sv') elem\n WHERE elem ->> 's' = selector\n LIMIT 1\n$$;\n\nCOMMENT ON FUNCTION eql_v3.jsonb_path_query_first(jsonb, text) IS\n 'eql-inline-critical: raw-jsonb path first helper; must stay inlinable (unpinned search_path)';\n\n------------------------------------------------------------------------------\n-- Array functions\n------------------------------------------------------------------------------\n\n--! @brief Get the length of an encrypted JSONB array.\n--! @param val jsonb encrypted EQL payload (must have `a` flag true).\n--! @return integer Number of elements.\n--! @throws Exception 'cannot get array length of a non-array' if not an array.\nCREATE FUNCTION eql_v3.jsonb_array_length(val jsonb)\n RETURNS integer\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb[];\n BEGIN\n IF eql_v3_internal.is_ste_vec_array(val) THEN\n sv := eql_v3.ste_vec(val);\n RETURN array_length(sv, 1);\n END IF;\n\n RAISE 'cannot get array length of a non-array';\n END;\n$$ LANGUAGE plpgsql;\n\n--! @brief Extract elements of an encrypted JSONB array as rows.\n--! @param val jsonb encrypted EQL payload (must have `a` flag true).\n--! @return SETOF public.eql_v3_json_entry One row per element (metadata preserved).\n--! @throws Exception 'cannot extract elements from non-array' if not an array.\nCREATE FUNCTION eql_v3.jsonb_array_elements(val jsonb)\n RETURNS SETOF public.eql_v3_json_entry\n IMMUTABLE STRICT PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\n DECLARE\n sv jsonb[];\n meta jsonb;\n item jsonb;\n BEGIN\n IF NOT eql_v3_internal.is_ste_vec_array(val) THEN\n RAISE 'cannot extract elements from non-array';\n END IF;\n\n meta := eql_v3.meta_data(val);\n sv := eql_v3.ste_vec(val);\n\n FOR idx IN 1..array_length(sv, 1) LOOP\n item = sv[idx];\n RETURN NEXT (meta || item)::public.eql_v3_json_entry;\n END LOOP;\n\n RETURN;\n END;\n$$ LANGUAGE plpgsql;\n\n-- NOTE: `eql_v3.jsonb_array_elements_text` (SETOF bare per-element ciphertext\n-- text) was removed with the envelope wire format: an sv entry's `c` is raw\n-- AEAD output whose nonce derives from the entry's `s`, so a bare ciphertext\n-- stream is not decryptable and the function had no remaining correct use.\n-- Use `eql_v3.jsonb_array_elements` — its entry rows carry `s`, `c`, and the\n-- grafted document key header `h`, the complete decryption unit.\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/bigint/query_bigint_types.sql\n--! @brief Query-operand domains for bigint (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_bigint_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_bigint_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_eq IS 'EQL bigint query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_bigint_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_ord_ore IS 'EQL bigint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_bigint_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_ord IS 'EQL bigint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_bigint_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_bigint_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_bigint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_bigint_ord_ope IS 'EQL bigint query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_functions.sql\n--! @brief Functions for eql_v3.query_bigint_ord.\n\n--! @brief Index extractor for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_bigint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a public.eql_v3_bigint_ord\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord, b public.eql_v3_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_bigint_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_bigint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a public.eql_v3_bigint_ord_ope\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ope, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ope.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord_ope, b public.eql_v3_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_functions.sql\n--! @brief Functions for public.eql_v3_bigint.\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_bigint never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint, selector text)\nRETURNS public.eql_v3_bigint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_bigint never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint, selector integer)\nRETURNS public.eql_v3_bigint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint right operand of the blocked operator\n--! @return public.eql_v3_bigint never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint)\nRETURNS public.eql_v3_bigint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_bigint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint, b public.eql_v3_bigint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_bigint_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_bigint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_bigint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_bigint_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_bigint_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ore, selector text)\nRETURNS public.eql_v3_bigint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_bigint_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_ord_ore, selector integer)\nRETURNS public.eql_v3_bigint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return public.eql_v3_bigint_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_ord_ore)\nRETURNS public.eql_v3_bigint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_bigint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_operators.sql\n--! @brief Operators for public.eql_v3_bigint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/real/query_real_types.sql\n--! @brief Query-operand domains for real (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_real_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_real_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_eq IS 'EQL real query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_real_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_ord_ore IS 'EQL real query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_real_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_ord IS 'EQL real query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_real_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_real_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_real_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_real_ord_ope IS 'EQL real query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_real_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_real_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a public.eql_v3_real_ord_ore\n--! @param b eql_v3.query_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ore, b eql_v3.query_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ore.\n--! @param a eql_v3.query_real_ord_ore\n--! @param b public.eql_v3_real_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord_ore, b public.eql_v3_real_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_functions.sql\n--! @brief Functions for public.eql_v3_real_ord.\n\n--! @brief Index extractor for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_real_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_real_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_real_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b public.eql_v3_real_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b public.eql_v3_real_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_real_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord, selector text)\nRETURNS public.eql_v3_real_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_real_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_ord, selector integer)\nRETURNS public.eql_v3_real_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real_ord right operand of the blocked operator\n--! @return public.eql_v3_real_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_ord)\nRETURNS public.eql_v3_real_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real_ord right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b public.eql_v3_real_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b public.eql_v3_real_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord, b public.eql_v3_real_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_functions.sql\n--! @brief Functions for eql_v3.query_real_ord.\n\n--! @brief Index extractor for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_real_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a public.eql_v3_real_ord\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord, b public.eql_v3_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_real_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_real_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a public.eql_v3_real_ord_ope\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_real_ord_ope, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_ord_ope.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord_ope, b public.eql_v3_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_eq_functions.sql\n--! @brief Functions for public.eql_v3_real_eq.\n\n--! @brief Index extractor for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_real_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_real_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_real_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_real_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_real_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_real_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_real_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_eq, selector text)\nRETURNS public.eql_v3_real_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_real_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real_eq, selector integer)\nRETURNS public.eql_v3_real_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real_eq right operand of the blocked operator\n--! @return public.eql_v3_real_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real_eq)\nRETURNS public.eql_v3_real_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real_eq right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_real_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_eq, b public.eql_v3_real_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_eq_functions.sql\n--! @brief Functions for eql_v3.query_real_eq.\n\n--! @brief Index extractor for eql_v3.query_real_eq.\n--! @param a eql_v3.query_real_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_real_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b eql_v3.query_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_real_eq, b eql_v3.query_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a eql_v3.query_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a public.eql_v3_real_eq\n--! @param b eql_v3.query_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_real_eq, b eql_v3.query_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_real_eq.\n--! @param a eql_v3.query_real_eq\n--! @param b public.eql_v3_real_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_real_eq, b public.eql_v3_real_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_smallint_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_smallint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_smallint_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_smallint_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_smallint_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ore, selector text)\nRETURNS public.eql_v3_smallint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_smallint_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ore, selector integer)\nRETURNS public.eql_v3_smallint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return public.eql_v3_smallint_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_ord_ore)\nRETURNS public.eql_v3_smallint_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_smallint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/smallint/query_smallint_types.sql\n--! @brief Query-operand domains for smallint (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_smallint_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_smallint_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_eq IS 'EQL smallint query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_smallint_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_ord_ore IS 'EQL smallint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_smallint_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_ord IS 'EQL smallint query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_smallint_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_smallint_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_smallint_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_smallint_ord_ope IS 'EQL smallint query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_smallint_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_smallint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_smallint_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_smallint_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ope, selector text)\nRETURNS public.eql_v3_smallint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_smallint_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord_ope, selector integer)\nRETURNS public.eql_v3_smallint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return public.eql_v3_smallint_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_ord_ope)\nRETURNS public.eql_v3_smallint_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_functions.sql\n--! @brief Functions for public.eql_v3_smallint_ord.\n\n--! @brief Index extractor for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_smallint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_smallint_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_smallint_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_smallint_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_smallint_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord, selector text)\nRETURNS public.eql_v3_smallint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_smallint_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint_ord, selector integer)\nRETURNS public.eql_v3_smallint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return public.eql_v3_smallint_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint_ord)\nRETURNS public.eql_v3_smallint_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_eq_functions.sql\n--! @brief Functions for eql_v3.query_smallint_eq.\n\n--! @brief Index extractor for eql_v3.query_smallint_eq.\n--! @param a eql_v3.query_smallint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_smallint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b eql_v3.query_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_eq, b eql_v3.query_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a eql_v3.query_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a public.eql_v3_smallint_eq\n--! @param b eql_v3.query_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_eq, b eql_v3.query_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_eq.\n--! @param a eql_v3.query_smallint_eq\n--! @param b public.eql_v3_smallint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_eq, b public.eql_v3_smallint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_functions.sql\n--! @brief Functions for eql_v3.query_smallint_ord.\n\n--! @brief Index extractor for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_smallint_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a public.eql_v3_smallint_ord\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord, b public.eql_v3_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_functions.sql\n--! @brief Functions for public.eql_v3_smallint.\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_smallint never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint, selector text)\nRETURNS public.eql_v3_smallint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_smallint never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_smallint, selector integer)\nRETURNS public.eql_v3_smallint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint right operand of the blocked operator\n--! @return public.eql_v3_smallint never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_smallint)\nRETURNS public.eql_v3_smallint IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_smallint, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_smallint right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_smallint)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_smallint, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_smallint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_smallint, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_smallint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_smallint)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_smallint, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_smallint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_smallint, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_smallint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_smallint, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint, b public.eql_v3_smallint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_smallint left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_smallint, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_smallint.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_smallint and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_smallint right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_smallint)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_smallint'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_smallint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_functions.sql\n--! @brief Functions for public.eql_v3_date_ord.\n\n--! @brief Index extractor for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_date_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_date_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_date_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord, selector text)\nRETURNS public.eql_v3_date_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_date_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord, selector integer)\nRETURNS public.eql_v3_date_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date_ord right operand of the blocked operator\n--! @return public.eql_v3_date_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_ord)\nRETURNS public.eql_v3_date_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date_ord right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_date_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord, b public.eql_v3_date_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/date/query_date_types.sql\n--! @brief Query-operand domains for date (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_date_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_date_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_eq IS 'EQL date query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_date_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_ord_ore IS 'EQL date query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_date_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_ord IS 'EQL date query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_date_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_date_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_date_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_date_ord_ope IS 'EQL date query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_functions.sql\n--! @brief Functions for eql_v3.query_date_ord.\n\n--! @brief Index extractor for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_date_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a public.eql_v3_date_ord\n--! @param b eql_v3.query_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord, b eql_v3.query_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord.\n--! @param a eql_v3.query_date_ord\n--! @param b public.eql_v3_date_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_date_ord, b public.eql_v3_date_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/json_entry_date_functions.sql\n--! @brief Functions for public.eql_v3_json_entry.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_date_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_date_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_json_entry, b eql_v3.query_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a eql_v3.query_date_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_json_entry, b eql_v3.query_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a eql_v3.query_date_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_json_entry, b eql_v3.query_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a eql_v3.query_date_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_json_entry, b eql_v3.query_date_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a eql_v3.query_date_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_date_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_date_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_json_entry, b eql_v3.query_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a eql_v3.query_date_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_json_entry, b eql_v3.query_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a eql_v3.query_date_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_json_entry, b eql_v3.query_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a eql_v3.query_date_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_json_entry, b eql_v3.query_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a eql_v3.query_date_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_date_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_date_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_date_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_date_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_date_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ore, selector text)\nRETURNS public.eql_v3_date_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_date_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ore, selector integer)\nRETURNS public.eql_v3_date_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return public.eql_v3_date_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_ord_ore)\nRETURNS public.eql_v3_date_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_date_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_date_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_date_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_date_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_date_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ope, selector text)\nRETURNS public.eql_v3_date_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_date_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_ord_ope, selector integer)\nRETURNS public.eql_v3_date_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return public.eql_v3_date_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_ord_ope)\nRETURNS public.eql_v3_date_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_eq_functions.sql\n--! @brief Functions for public.eql_v3_date_eq.\n\n--! @brief Index extractor for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_date_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_date_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_date_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_date_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_date_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_date_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_date_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_eq, selector text)\nRETURNS public.eql_v3_date_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_date_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date_eq, selector integer)\nRETURNS public.eql_v3_date_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date_eq right operand of the blocked operator\n--! @return public.eql_v3_date_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date_eq)\nRETURNS public.eql_v3_date_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date_eq right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_date_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_eq, b public.eql_v3_date_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_functions.sql\n--! @brief Functions for public.eql_v3_date.\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_date never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date, selector text)\nRETURNS public.eql_v3_date IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_date never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_date, selector integer)\nRETURNS public.eql_v3_date IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date right operand of the blocked operator\n--! @return public.eql_v3_date never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_date)\nRETURNS public.eql_v3_date IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_date, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_date right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_date)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_date, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_date, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_date, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_date, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_date)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_date, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_date, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_date, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_date, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_date, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date, b public.eql_v3_date)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_date left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_date, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_date.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_date and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_date right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_date)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_date'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_date_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_date_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/numeric/query_numeric_types.sql\n--! @brief Query-operand domains for numeric (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_numeric_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_numeric_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_eq IS 'EQL numeric query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_numeric_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_ord_ore IS 'EQL numeric query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_numeric_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_ord IS 'EQL numeric query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_numeric_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_numeric_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_numeric_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_numeric_ord_ope IS 'EQL numeric query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_eq_functions.sql\n--! @brief Functions for public.eql_v3_numeric_eq.\n\n--! @brief Index extractor for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_numeric_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_numeric_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_numeric_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_numeric_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_numeric_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_numeric_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_eq, selector text)\nRETURNS public.eql_v3_numeric_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_numeric_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_eq, selector integer)\nRETURNS public.eql_v3_numeric_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return public.eql_v3_numeric_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_eq)\nRETURNS public.eql_v3_numeric_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_functions.sql\n--! @brief Functions for public.eql_v3_numeric_ord.\n\n--! @brief Index extractor for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_numeric_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_numeric_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_numeric_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord, selector text)\nRETURNS public.eql_v3_numeric_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_numeric_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord, selector integer)\nRETURNS public.eql_v3_numeric_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return public.eql_v3_numeric_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_ord)\nRETURNS public.eql_v3_numeric_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_functions.sql\n--! @brief Functions for eql_v3.query_numeric_ord.\n\n--! @brief Index extractor for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_numeric_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a public.eql_v3_numeric_ord\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord, b public.eql_v3_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_numeric_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_numeric_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_numeric_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_numeric_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_numeric_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ore, selector text)\nRETURNS public.eql_v3_numeric_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_numeric_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ore, selector integer)\nRETURNS public.eql_v3_numeric_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return public.eql_v3_numeric_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_ord_ore)\nRETURNS public.eql_v3_numeric_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_numeric_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_numeric_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a public.eql_v3_numeric_ord_ore\n--! @param b eql_v3.query_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ore, b eql_v3.query_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ore.\n--! @param a eql_v3.query_numeric_ord_ore\n--! @param b public.eql_v3_numeric_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord_ore, b public.eql_v3_numeric_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_numeric_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_numeric_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_numeric_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_numeric_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_numeric_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_numeric_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ope, selector text)\nRETURNS public.eql_v3_numeric_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_numeric_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric_ord_ope, selector integer)\nRETURNS public.eql_v3_numeric_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return public.eql_v3_numeric_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric_ord_ope)\nRETURNS public.eql_v3_numeric_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_numeric_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_numeric_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a public.eql_v3_numeric_ord_ope\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_numeric_ord_ope, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_ord_ope.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord_ope, b public.eql_v3_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_numeric_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_numeric_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/json/json_types.sql\n--! @brief Encrypted-domain types for json.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_json.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_json' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_json AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_json IS 'EQL encrypted json (storage only)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/json/json_functions.sql\n--! @brief Functions for public.eql_v3_json.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_json, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_json, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_json, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_json, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_json, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_json, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_json never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_json, selector text)\nRETURNS public.eql_v3_json IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_json never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_json, selector integer)\nRETURNS public.eql_v3_json IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_json right operand of the blocked operator\n--! @return public.eql_v3_json never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_json)\nRETURNS public.eql_v3_json IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_json, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_json, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_json right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_json)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_json, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_json, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_json, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_json, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_json, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_json)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_json, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_json, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_json, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_json, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_json, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_json, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_json, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_json, b public.eql_v3_json)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_json, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_json right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_json)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_json'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/double/query_double_types.sql\n--! @brief Query-operand domains for double (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_double_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_double_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_eq IS 'EQL double query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_double_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_ord_ore IS 'EQL double query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_double_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_ord IS 'EQL double query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_double_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_double_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_double_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_double_ord_ope IS 'EQL double query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_functions.sql\n--! @brief Functions for public.eql_v3_double_ord.\n\n--! @brief Index extractor for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_double_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_double_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b public.eql_v3_double_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b public.eql_v3_double_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_double_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord, selector text)\nRETURNS public.eql_v3_double_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_double_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord, selector integer)\nRETURNS public.eql_v3_double_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double_ord right operand of the blocked operator\n--! @return public.eql_v3_double_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_ord)\nRETURNS public.eql_v3_double_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double_ord right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b public.eql_v3_double_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b public.eql_v3_double_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord, b public.eql_v3_double_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_double_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_double_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_double_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_double_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_double_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ore, selector text)\nRETURNS public.eql_v3_double_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_double_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ore, selector integer)\nRETURNS public.eql_v3_double_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return public.eql_v3_double_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_ord_ore)\nRETURNS public.eql_v3_double_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_double_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_double_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_double_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_double_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_double_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_double_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ope, selector text)\nRETURNS public.eql_v3_double_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_double_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double_ord_ope, selector integer)\nRETURNS public.eql_v3_double_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return public.eql_v3_double_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double_ord_ope)\nRETURNS public.eql_v3_double_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_operators.sql\n--! @brief Operators for public.eql_v3_double_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = public.eql_v3_double_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_double_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_functions.sql\n--! @brief Functions for public.eql_v3_double.\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_double never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double, selector text)\nRETURNS public.eql_v3_double IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_double never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_double, selector integer)\nRETURNS public.eql_v3_double IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double right operand of the blocked operator\n--! @return public.eql_v3_double never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_double)\nRETURNS public.eql_v3_double IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_double, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_double right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_double)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_double, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_double, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_double, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_double, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_double)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_double, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_double, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_double, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_double, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_double, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double, b public.eql_v3_double)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_double left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_double, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_double.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_double and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_double right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_double)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_double'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_double_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_double_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a public.eql_v3_double_ord_ope\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ope, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ope.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord_ope, b public.eql_v3_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_eq_functions.sql\n--! @brief Functions for eql_v3.query_double_eq.\n\n--! @brief Index extractor for eql_v3.query_double_eq.\n--! @param a eql_v3.query_double_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_double_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b eql_v3.query_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_eq, b eql_v3.query_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a eql_v3.query_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a public.eql_v3_double_eq\n--! @param b eql_v3.query_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_eq, b eql_v3.query_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_eq.\n--! @param a eql_v3.query_double_eq\n--! @param b public.eql_v3_double_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_eq, b public.eql_v3_double_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_double_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_eq_functions.sql\n--! @brief Functions for public.eql_v3_integer_eq.\n\n--! @brief Index extractor for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_integer_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_integer_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_integer_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_integer_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_integer_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_integer_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_eq, selector text)\nRETURNS public.eql_v3_integer_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_integer_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_eq, selector integer)\nRETURNS public.eql_v3_integer_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer_eq right operand of the blocked operator\n--! @return public.eql_v3_integer_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_eq)\nRETURNS public.eql_v3_integer_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer_eq right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_integer_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_eq, b public.eql_v3_integer_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_operators.sql\n--! @brief Operators for public.eql_v3_integer_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = public.eql_v3_integer_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_integer_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_integer_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_integer_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_integer_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_integer_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_integer_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ore, selector text)\nRETURNS public.eql_v3_integer_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_integer_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer_ord_ore, selector integer)\nRETURNS public.eql_v3_integer_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return public.eql_v3_integer_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer_ord_ore)\nRETURNS public.eql_v3_integer_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_integer_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/json_entry_integer_functions.sql\n--! @brief Functions for public.eql_v3_json_entry.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_integer_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_integer_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_integer_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_integer_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_integer_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_integer_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_integer_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_integer_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_integer_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_integer_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_integer_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_integer_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_integer_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_integer_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_integer_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_integer_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_integer_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_integer_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_integer_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_integer_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_functions.sql\n--! @brief Functions for public.eql_v3_integer.\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_integer never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer, selector text)\nRETURNS public.eql_v3_integer IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_integer never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_integer, selector integer)\nRETURNS public.eql_v3_integer IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer right operand of the blocked operator\n--! @return public.eql_v3_integer never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_integer)\nRETURNS public.eql_v3_integer IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_integer, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_integer, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_integer, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_integer, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_integer, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_integer)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_integer, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_integer, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_integer, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_integer, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_integer, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer, b public.eql_v3_integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_integer left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_integer, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_integer.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_integer and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_integer'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_eq_functions.sql\n--! @brief Functions for eql_v3.query_integer_eq.\n\n--! @brief Index extractor for eql_v3.query_integer_eq.\n--! @param a eql_v3.query_integer_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_integer_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b eql_v3.query_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_eq, b eql_v3.query_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a eql_v3.query_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a public.eql_v3_integer_eq\n--! @param b eql_v3.query_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_eq, b eql_v3.query_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_eq.\n--! @param a eql_v3.query_integer_eq\n--! @param b public.eql_v3_integer_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_eq, b public.eql_v3_integer_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @file v3/sem/ore_block_256/operator_class.sql\n--! @brief B-tree operator family + default class on eql_v3_internal.ore_block_256.\n--!\n--! Gives the composite type its DEFAULT btree opclass so the recommended\n--! functional index `CREATE INDEX ON t (eql_v3.ord_term_ore(col))` engages without\n--! an explicit opclass annotation (design D4).\n--!\n--! @note Creating an operator family/class requires superuser: Postgres forbids\n--! CREATE OPERATOR FAMILY / CLASS to non-superusers to protect index\n--! integrity. Managed platforms (Supabase, and most hosted Postgres) run\n--! the installer as a non-superuser role, so the DO block below ATTEMPTS\n--! the creation and skips it on insufficient_privilege (SQLSTATE 42501),\n--! letting the single installer run everywhere. When the class is absent,\n--! ORE ordered scans over eql_v3_internal.ore_block_256 are unavailable,\n--! but the order-preserving (OPE) ordering domains — whose extractor\n--! return types carry a native btree opclass — still index without it. On\n--! superuser installs (self-managed Postgres, the SQLx test matrix) the\n--! class is created normally. Any non-privilege error still propagates.\n--! @see eql_v3_internal.compare_ore_block_256_terms\n\nDO $do$\nBEGIN\n EXECUTE 'CREATE OPERATOR FAMILY eql_v3_internal.ore_block_256_operator_family USING btree';\n\n EXECUTE $ddl$\n CREATE OPERATOR CLASS eql_v3_internal.ore_block_256_operator_class\n DEFAULT FOR TYPE eql_v3_internal.ore_block_256\n USING btree FAMILY eql_v3_internal.ore_block_256_operator_family AS\n OPERATOR 1 public.<,\n OPERATOR 2 public.<=,\n OPERATOR 3 public.=,\n OPERATOR 4 public.>=,\n OPERATOR 5 public.>,\n FUNCTION 1 eql_v3_internal.compare_ore_block_256_terms(a eql_v3_internal.ore_block_256, b eql_v3_internal.ore_block_256)\n $ddl$;\n\n RAISE NOTICE 'EQL: created btree operator class eql_v3_internal.ore_block_256_operator_class';\nEXCEPTION\n WHEN insufficient_privilege THEN\n RAISE NOTICE 'EQL: skipped operator class eql_v3_internal.ore_block_256_operator_class (requires superuser); ORE ordered indexes on ore_block_256 unavailable, OPE ordering domains unaffected';\nEND;\n$do$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/timestamp/query_timestamp_types.sql\n--! @brief Query-operand domains for timestamp (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_timestamp_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_timestamp_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_eq IS 'EQL timestamp query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_timestamp_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_ord_ore IS 'EQL timestamp query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_timestamp_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_ord IS 'EQL timestamp query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_timestamp_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_timestamp_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_timestamp_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_timestamp_ord_ope IS 'EQL timestamp query operand (equality, ordering)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/text/query_text_types.sql\n--! @brief Query-operand domains for text (index-terms-only, no ciphertext).\n--! @note Query-operand domains live in `eql_v3` (not `public`): they are\n--! never valid column types, so they don't belong in the column-type\n--! namespace, and dropping the EQL-owned schema can never drop an\n--! application column.\n--! @note Cast a query operand explicitly to its `query_` domain in a predicate\n--! (e.g. `WHERE col = $1::eql_v3.query_text_eq`). A bare,\n--! uncast literal RHS is ambiguous between the `query_` and `jsonb`\n--! operator overloads and will not resolve.\n\nDO $$\nBEGIN\n --! @brief Query-operand domain eql_v3.query_text_eq (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_eq' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_eq AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_eq IS 'EQL text query operand (equality)';\n\n --! @brief Query-operand domain eql_v3.query_text_match (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_match' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_match AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'bf'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_match IS 'EQL text query operand (matching)';\n\n --! @brief Query-operand domain eql_v3.query_text_ord_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_ord_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_ord_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_ord_ore IS 'EQL text query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_text_ord (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_ord' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_ord AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_ord IS 'EQL text query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_text_ord_ope (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_ord_ope' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_ord_ope AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_ord_ope IS 'EQL text query operand (equality, ordering)';\n\n --! @brief Query-operand domain eql_v3.query_text_search_ore (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_search_ore' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_search_ore AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'ob'\n AND VALUE ? 'bf'\n AND NOT (VALUE ? 'c')\n AND jsonb_typeof(VALUE -> 'ob') = 'array'\n AND jsonb_array_length(VALUE -> 'ob') > 0\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_search_ore IS 'EQL text query operand (equality, ordering, matching)';\n\n --! @brief Query-operand domain eql_v3.query_text_search (term-only; no `c`).\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'query_text_search' AND typnamespace = 'eql_v3'::regnamespace\n ) THEN\n CREATE DOMAIN eql_v3.query_text_search AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'hm'\n AND VALUE ? 'op'\n AND VALUE ? 'bf'\n AND NOT (VALUE ? 'c')\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN eql_v3.query_text_search IS 'EQL text query operand (equality, ordering, matching)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_match_functions.sql\n--! @brief Functions for public.eql_v3_text_match.\n\n--! @brief Index extractor for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a public.eql_v3_text_match)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_text_match never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_match, selector text)\nRETURNS public.eql_v3_text_match IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_text_match never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_match, selector integer)\nRETURNS public.eql_v3_text_match IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_match right operand of the blocked operator\n--! @return public.eql_v3_text_match never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_match)\nRETURNS public.eql_v3_text_match IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_match, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_match, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_match right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_match)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_match, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_match, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_match, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_match, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_match, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::public.eql_v3_text_match) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_match.\n--! @param a jsonb\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a jsonb, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_match) @> eql_v3.match_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_match, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_match, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_match, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_match, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_match, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_match, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_match, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_match, b public.eql_v3_text_match)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_match left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_match, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_match.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_match and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_match right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_match)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_match'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_text_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_ord_ope)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_text_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ope) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ope) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_text_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_text_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ope, selector text)\nRETURNS public.eql_v3_text_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_text_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ope, selector integer)\nRETURNS public.eql_v3_text_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return public.eql_v3_text_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_ord_ope)\nRETURNS public.eql_v3_text_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_functions.sql\n--! @brief Functions for eql_v3.query_text_ord.\n\n--! @brief Index extractor for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_ord)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_text_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a public.eql_v3_text_ord\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord, b public.eql_v3_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_text_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_ord_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_text_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ore) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_ord_ore) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_text_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_text_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ore, selector text)\nRETURNS public.eql_v3_text_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_text_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_ord_ore, selector integer)\nRETURNS public.eql_v3_text_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return public.eql_v3_text_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_ord_ore)\nRETURNS public.eql_v3_text_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_eq_functions.sql\n--! @brief Functions for public.eql_v3_text_eq.\n\n--! @brief Index extractor for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_text_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_eq, selector text)\nRETURNS public.eql_v3_text_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_text_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_eq, selector integer)\nRETURNS public.eql_v3_text_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_eq right operand of the blocked operator\n--! @return public.eql_v3_text_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_eq)\nRETURNS public.eql_v3_text_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_eq right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_text_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_eq, b public.eql_v3_text_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_functions.sql\n--! @brief Functions for public.eql_v3_text_search.\n\n--! @brief Index extractor for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_search)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_text_search)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a public.eql_v3_text_search)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_text_search) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b public.eql_v3_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b public.eql_v3_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_text_search never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search, selector text)\nRETURNS public.eql_v3_text_search IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_text_search never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search, selector integer)\nRETURNS public.eql_v3_text_search IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_search right operand of the blocked operator\n--! @return public.eql_v3_text_search never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_search)\nRETURNS public.eql_v3_text_search IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_search right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_search)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_search, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_search, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_search, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_search, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::public.eql_v3_text_search) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a jsonb, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search) @> eql_v3.match_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_search, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_search, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_search, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_search, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b public.eql_v3_text_search right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search, b public.eql_v3_text_search)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_search right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_search)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_ore_functions.sql\n--! @brief Functions for public.eql_v3_text_search_ore.\n\n--! @brief Index extractor for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_text_search_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_text_search_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Index extractor for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a public.eql_v3_text_search_ore)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search_ore) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_text_search_ore) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_text_search_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b public.eql_v3_text_search_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_search_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b public.eql_v3_text_search_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_search_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_text_search_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search_ore, selector text)\nRETURNS public.eql_v3_text_search_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_text_search_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text_search_ore, selector integer)\nRETURNS public.eql_v3_text_search_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_search_ore right operand of the blocked operator\n--! @return public.eql_v3_text_search_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text_search_ore)\nRETURNS public.eql_v3_text_search_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text_search_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text_search_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text_search_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text_search_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text_search_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::public.eql_v3_text_search_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_text_search_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a::public.eql_v3_text_search_ore) @> eql_v3.match_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text_search_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text_search_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b public.eql_v3_text_search_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text_search_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text_search_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text_search_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text_search_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text_search_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text_search_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text_search_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_text_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_operators.sql\n--! @brief Operators for public.eql_v3_text_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = public.eql_v3_text_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ore_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_ord_ore.\n\n--! @brief Index extractor for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a public.eql_v3_timestamp_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b::public.eql_v3_timestamp_ord_ore) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ore.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a::public.eql_v3_timestamp_ord_ore) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_timestamp_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ore, selector text)\nRETURNS public.eql_v3_timestamp_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_timestamp_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ore, selector integer)\nRETURNS public.eql_v3_timestamp_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return public.eql_v3_timestamp_ord_ore never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_ord_ore)\nRETURNS public.eql_v3_timestamp_ord_ore IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ore, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ore, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_ord_ore)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_ord_ore, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ore, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ore, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ore, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_ord_ore, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ore left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ore, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ore.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ore and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ore right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_ord_ore)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ore'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_ord.\n\n--! @brief Index extractor for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_timestamp_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_timestamp_ord) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_timestamp_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord, selector text)\nRETURNS public.eql_v3_timestamp_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_timestamp_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord, selector integer)\nRETURNS public.eql_v3_timestamp_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return public.eql_v3_timestamp_ord never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_ord)\nRETURNS public.eql_v3_timestamp_ord IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_ord)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_ord, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_ord, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_ord)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/json_entry_timestamp_functions.sql\n--! @brief Functions for public.eql_v3_json_entry.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_timestamp_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_timestamp_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a eql_v3.query_timestamp_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a eql_v3.query_timestamp_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a eql_v3.query_timestamp_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a eql_v3.query_timestamp_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_json_entry, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_eq_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_eq.\n\n--! @brief Index extractor for eql_v3.query_timestamp_eq.\n--! @param a eql_v3.query_timestamp_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_timestamp_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b eql_v3.query_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_eq, b eql_v3.query_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a eql_v3.query_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a public.eql_v3_timestamp_eq\n--! @param b eql_v3.query_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_eq, b eql_v3.query_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_eq.\n--! @param a eql_v3.query_timestamp_eq\n--! @param b public.eql_v3_timestamp_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_eq, b public.eql_v3_timestamp_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ope_functions.sql\n--! @brief Functions for public.eql_v3_timestamp_ord_ope.\n\n--! @brief Index extractor for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a public.eql_v3_timestamp_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::public.eql_v3_timestamp_ord_ope) $$;\n\n--! @brief Operator wrapper for public.eql_v3_timestamp_ord_ope.\n--! @param a jsonb\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a::public.eql_v3_timestamp_ord_ope) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_timestamp_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ope, selector text)\nRETURNS public.eql_v3_timestamp_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_timestamp_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp_ord_ope, selector integer)\nRETURNS public.eql_v3_timestamp_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return public.eql_v3_timestamp_ord_ope never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp_ord_ope)\nRETURNS public.eql_v3_timestamp_ord_ope IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ope, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp_ord_ope, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp_ord_ope)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp_ord_ope, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp_ord_ope, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ope, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ope, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp_ord_ope, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp_ord_ope left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp_ord_ope, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp_ord_ope.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp_ord_ope and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp_ord_ope right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp_ord_ope)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp_ord_ope'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE\n-- Source is src/v3/version.template\n\nDROP FUNCTION IF EXISTS eql_v3.version();\n\n--! @file v3/version.sql\n--! @brief EQL version reporting (self-contained eql_v3 surface)\n--!\n--! This file is auto-generated from src/v3/version.template during build.\n--! The 3.0.2 placeholder is replaced with the actual release\n--! version (bare semver, e.g. \"3.0.0\") supplied via `mise run build --version`,\n--! or \"DEV\" for development builds.\n\n--! @brief Get the installed EQL version string\n--!\n--! Returns the version string for the installed EQL library. This value is\n--! baked in at build time from the release tag.\n--!\n--! @return text Version string (e.g. \"3.0.0\" or \"DEV\" for development builds)\n--!\n--! @note Auto-generated during build from src/v3/version.template\n--!\n--! Example: `SELECT eql_v3.version()` returns the installed version string,\n--! e.g. `'3.0.0'` (or `'DEV'` for development builds).\nCREATE FUNCTION eql_v3.version()\n RETURNS text\n IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT '3.0.2';\n$$ LANGUAGE SQL;\n\n--! @brief Schema-level version marker for obj_description() discoverability\n--!\n--! Mirrors eql_v3.version() as a comment on the schema so the installed\n--! version can also be read via obj_description('eql_v3'::regnamespace).\nCOMMENT ON SCHEMA eql_v3 IS '3.0.2';\n\n--! @brief EQL lint: detect non-inlinable operator implementation functions\n--!\n--! Returns one row per violation found in the installed `eql_v3` surface. The\n--! Postgres planner can only inline a function during index matching when:\n--!\n--! * `LANGUAGE sql` (plpgsql / C / etc. cannot be inlined)\n--! * `IMMUTABLE` or `STABLE` volatility (VOLATILE cannot be inlined into\n--! index expressions)\n--! * No `SET` clauses (e.g. `SET search_path = ...`)\n--! * Not `SECURITY DEFINER`\n--! * Single-statement SELECT body\n--!\n--! @note The single-statement SELECT body condition is **not yet checked** by\n--! this lint. A `LANGUAGE sql` function with a multi-statement body, a CTE,\n--! or any pre-SELECT statement will pass all four implemented checks while\n--! remaining non-inlinable. Implementing the check requires walking `prosrc`\n--! (or `pg_get_functiondef`); tracked as a follow-up.\n--!\n--! Operators on `eql_v3` types (the jsonb-backed encrypted-domain families and\n--! the SEM index-term type `eql_v3_internal.ore_block_256`) whose\n--! implementation functions fail any of these rules silently fall back to seq\n--! scan when the documented functional indexes (`eql_v3.eq_term(col)`,\n--! `eql_v3.ord_term(col)`) are in place. This lint surfaces every such case.\n--!\n--! Severity:\n--! `error` — fixable, blocks index matching, ship-blocking.\n--! `warning` — likely-fixable, may not block matching but signals intent.\n--! `info` — observational; useful for review, not a defect on its own.\n--!\n--! Categories:\n--! `inlinability_language` — implementation function isn't `LANGUAGE sql`.\n--! `inlinability_volatility` — implementation function is VOLATILE.\n--! `inlinability_set_clause` — implementation function has a `SET` clause.\n--! `inlinability_secdef` — implementation function is `SECURITY DEFINER`.\n--! `inlinability_transitive` — implementation function is itself inlinable\n--! but its body invokes a non-inlinable function\n--! (depth 1; the planner can't peek through\n--! that boundary).\n--! `blocker_language` — encrypted-domain blocker is not LANGUAGE\n--! plpgsql. The planner can inline / elide a\n--! LANGUAGE sql body when the result is\n--! provably unused, silently bypassing the\n--! RAISE that the blocker exists to perform.\n--! `blocker_strict` — encrypted-domain blocker is STRICT.\n--! PostgreSQL skips the body and returns NULL\n--! on NULL arguments, silently bypassing the\n--! RAISE.\n--! `domain_over_domain` — an `eql_v3` encrypted domain is derived from\n--! another encrypted domain rather than jsonb.\n--! Operators resolve against the ultimate base\n--! type, so the derived domain does not\n--! inherit the base domain's blocker surface.\n--! `domain_opclass` — an operator class is declared FOR TYPE on an\n--! `eql_v3` encrypted domain. Opclasses on\n--! domains bypass operator resolution; use a\n--! functional index on the extractor instead.\n--! `schema_placement` — a naked composite or enum TYPE lives in the\n--! public `eql_v3` schema. Internal index-term\n--! types (e.g. `ore_block_256_term`) belong in\n--! `eql_v3_internal`; a composite/enum in\n--! `eql_v3` clutters the Supabase Table Builder\n--! type picker, which the schema split exists to\n--! prevent. Move it to `eql_v3_internal`.\n--!\n--! @example\n--! ```\n--! SELECT severity, category, object_name, message\n--! FROM eql_v3.lints()\n--! WHERE severity = 'error'\n--! ORDER BY category, object_name;\n--! ```\n--!\n--! @return SETOF record (severity text, category text, object_name text, message text)\nCREATE OR REPLACE FUNCTION eql_v3.lints()\nRETURNS TABLE (\n severity text,\n category text,\n object_name text,\n message text\n)\nLANGUAGE sql STABLE\nAS $$\n WITH\n -- User-column encrypted domains now live in public so application tables\n -- survive EQL uninstall. Keep this separate from owned_schemas(): public is\n -- not installer-owned, but its EQL jsonb-backed domains are still the domain\n -- types whose blockers/operator surfaces the lint must understand.\n encrypted_domain_types AS (\n SELECT\n dt.oid AS typid\n FROM pg_catalog.pg_type dt\n JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace\n JOIN pg_catalog.pg_type bt ON bt.oid = dt.typbasetype\n JOIN pg_catalog.pg_namespace bn ON bn.oid = bt.typnamespace\n WHERE dt.typtype = 'd'\n AND bt.typname = 'jsonb'\n AND bn.nspname = 'pg_catalog'\n AND (\n dn.nspname = 'public'\n OR dn.nspname = ANY(eql_v3_internal.owned_schemas())\n )\n ),\n\n -- All operators where at least one operand is an EQL-owned type or a public\n -- encrypted domain. Limits the scope of the lint to the operator surface\n -- customers actually hit via SQL (`col = val`, `col @> '...'` and friends).\n eql_operators AS (\n SELECT\n op.oid AS oprid,\n op.oprname AS opname,\n op.oprcode AS implfunc,\n op.oprleft::regtype AS lhs,\n op.oprright::regtype AS rhs,\n op.oprcode::regprocedure AS impl_signature\n FROM pg_operator op\n WHERE EXISTS (\n SELECT 1 FROM pg_type t\n WHERE t.oid IN (op.oprleft, op.oprright)\n AND (\n t.typnamespace IN (SELECT oid FROM pg_namespace WHERE nspname = ANY(eql_v3_internal.owned_schemas()))\n OR t.oid IN (SELECT typid FROM encrypted_domain_types)\n )\n )\n ),\n\n -- Cross-join with each operator's implementation function metadata.\n -- One row per operator; columns describe the inlinability of the impl.\n op_impl AS (\n SELECT\n eo.opname,\n eo.lhs,\n eo.rhs,\n eo.implfunc AS impl_oid,\n eo.impl_signature::text AS impl_signature,\n lang_l.lanname AS lang,\n p.provolatile AS volatility,\n p.proconfig AS config,\n p.prosecdef AS secdef,\n p.prosrc AS body\n FROM eql_operators eo\n JOIN pg_proc p ON p.oid = eo.implfunc\n JOIN pg_language lang_l ON lang_l.oid = p.prolang\n ),\n\n -- Encrypted-domain blockers: functions in `eql_v3` whose body contains\n -- a blocker marker emitted by the codegen (any of the\n -- `encrypted_domain_unsupported_*` helper calls — `_bool` for boolean\n -- blockers, `_jsonb` for the native-jsonb-operator blockers; plus the\n -- literal `is not supported for` for older path-operator blockers) AND\n -- that take at least one encrypted domain over jsonb argument. The argument\n -- filter excludes the shared `encrypted_domain_unsupported_*(text, text)`\n -- helpers themselves, which contain the marker in their body but are not\n -- blockers (they take text arguments, not a domain).\n encrypted_domain_blockers AS (\n SELECT\n p.oid AS oid,\n p.oid::regprocedure::text AS signature,\n lang_l.lanname AS lang,\n p.proisstrict AS isstrict\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n JOIN pg_catalog.pg_language lang_l ON lang_l.oid = p.prolang\n WHERE n.nspname = ANY(eql_v3_internal.owned_schemas())\n AND (p.prosrc LIKE '%encrypted_domain_unsupported%'\n OR p.prosrc LIKE '%is not supported for%')\n AND EXISTS (\n SELECT 1\n FROM pg_catalog.unnest(p.proargtypes::oid[]) AS arg(typ)\n JOIN encrypted_domain_types edt ON edt.typid = arg.typ\n )\n )\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Direct inlinability checks: each row examines one operator's │\n -- │ implementation function and emits a violation if any rule is │\n -- │ broken. Multiple violations on the same function become │\n -- │ multiple rows (developers see every reason it doesn't inline). │\n -- └─────────────────────────────────────────────────────────────────┘\n\n SELECT\n 'error' AS severity,\n 'inlinability_language' AS category,\n format('operator %s(%s, %s) -> %s',\n opname, lhs, rhs, impl_signature) AS object_name,\n format(\n 'Operator implementation function is `LANGUAGE %s`; only `LANGUAGE sql` functions can be inlined by the planner. Bare `col %s val` queries fall back to seq scan even when a matching functional index exists.',\n lang, opname) AS message\n FROM op_impl\n WHERE lang <> 'sql'\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_volatility',\n format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature),\n format(\n 'Operator implementation function is `VOLATILE`. The Postgres planner refuses to inline volatile functions into index expressions, so functional indexes never engage. Mark the function `IMMUTABLE` (or `STABLE` if it depends on session state).',\n opname)\n FROM op_impl\n WHERE volatility = 'v'\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_set_clause',\n format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature),\n format(\n 'Operator implementation function has a `SET` clause (e.g. `SET search_path = ...`). Per Postgres function-inlining rules, any `SET` clause blocks inlining. Use schema-qualified identifiers in the body and remove the `SET` clause to allow the planner to inline.')\n FROM op_impl\n WHERE config IS NOT NULL\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_secdef',\n format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature),\n 'Operator implementation function is `SECURITY DEFINER`. Such functions cannot be inlined; remove `SECURITY DEFINER` or use a non-inlinable wrapper layer.'\n FROM op_impl\n WHERE secdef\n AND NOT EXISTS (\n SELECT 1 FROM encrypted_domain_blockers b\n WHERE b.oid = op_impl.impl_oid\n )\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Transitive inlinability: an operator implementation function │\n -- │ that's itself inlinable can still fail to inline if its body │\n -- │ calls a non-inlinable function. Walk one level via pg_depend. │\n -- │ │\n -- │ Postgres records function-to-function dependencies in │\n -- │ pg_depend with deptype 'n' (normal) when one function references│\n -- │ another in its body — but only at CREATE time and only for │\n -- │ direct calls. This is good enough for v1; deeper transitive │\n -- │ analysis is a follow-up. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'inlinability_transitive',\n format('operator %s(%s, %s) -> %s', oi.opname, oi.lhs, oi.rhs,\n oi.impl_signature),\n format(\n 'Operator implementation function is inlinable but invokes non-inlinable function `%s` (lang=%s, volatility=%s%s). The chain blocks at depth 1: the planner inlines the outer call but cannot reduce the inner call into an index expression.',\n called.proname,\n called_lang.lanname,\n CASE called.provolatile\n WHEN 'i' THEN 'IMMUTABLE'\n WHEN 's' THEN 'STABLE'\n WHEN 'v' THEN 'VOLATILE'\n END,\n CASE WHEN called.proconfig IS NOT NULL\n THEN ', has SET clause'\n ELSE '' END)\n FROM op_impl oi\n -- Only worth the transitive check if the outer function is otherwise\n -- inlinable — otherwise the direct lints above already report it.\n JOIN pg_proc outer_p ON outer_p.oid = oi.impl_signature::regprocedure\n JOIN pg_depend d\n ON d.classid = 'pg_proc'::regclass\n AND d.objid = outer_p.oid\n AND d.refclassid = 'pg_proc'::regclass\n AND d.deptype = 'n'\n JOIN pg_proc called ON called.oid = d.refobjid\n JOIN pg_language called_lang ON called_lang.oid = called.prolang\n WHERE oi.lang = 'sql'\n AND oi.volatility IN ('i', 's')\n AND oi.config IS NULL\n AND NOT oi.secdef\n AND called.oid <> outer_p.oid\n AND (\n called_lang.lanname <> 'sql'\n OR called.provolatile = 'v'\n OR called.proconfig IS NOT NULL\n OR called.prosecdef\n )\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Encrypted-domain footguns: blockers exist to RAISE, so they │\n -- │ have inverted inlinability requirements vs operator impls. │\n -- │ A LANGUAGE sql blocker can be elided by the planner; a STRICT │\n -- │ blocker returns NULL on NULL args. Both silently re-enable │\n -- │ operators the storage variant is supposed to block. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'blocker_language',\n format('function %s', signature),\n format(\n 'Encrypted-domain blocker is `LANGUAGE %s`; must be `LANGUAGE plpgsql` so the RAISE is opaque to the planner. A `LANGUAGE sql` body is inlinable and may be elided when the result is provably unused, silently re-enabling the operator.',\n lang)\n FROM encrypted_domain_blockers\n WHERE lang <> 'plpgsql'\n\n UNION ALL\n\n SELECT\n 'error',\n 'blocker_strict',\n format('function %s', signature),\n 'Encrypted-domain blocker is `STRICT`. PostgreSQL skips the body and returns NULL on a NULL argument, silently bypassing the RAISE. Remove `STRICT`.'\n FROM encrypted_domain_blockers\n WHERE isstrict\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Domain identity: an encrypted-domain must be defined directly │\n -- │ over jsonb. Operators resolve against the ultimate base type, │\n -- │ so domain-over-domain inherits jsonb's operator surface and not │\n -- │ the base domain's blockers. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'domain_over_domain',\n format('domain %I.%I', dn.nspname, dt.typname),\n format(\n 'Domain `%s.%s` is derived from another encrypted-domain `%s.%s` rather than jsonb. Operators resolve against the ultimate base type, so the derived domain does not inherit the base domain''s operator surface and storage blockers do not engage. Define this domain directly over jsonb.',\n dn.nspname, dt.typname, bn.nspname, bt.typname)\n FROM pg_catalog.pg_type dt\n JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace\n JOIN pg_catalog.pg_type bt ON bt.oid = dt.typbasetype\n JOIN pg_catalog.pg_namespace bn ON bn.oid = bt.typnamespace\n WHERE dt.typtype = 'd'\n AND dn.nspname = ANY(eql_v3_internal.owned_schemas())\n AND bt.typtype = 'd'\n AND bt.oid IN (SELECT typid FROM encrypted_domain_types)\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Domain opclass: an operator class declared FOR TYPE on an │\n -- │ encrypted-domain bypasses operator resolution at index time. │\n -- │ Use a functional index on the extractor instead. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'domain_opclass',\n format('opclass %I.%I FOR TYPE %s.%s', cn.nspname, oc.opcname, tn.nspname, t.typname),\n format(\n 'Operator class `%s.%s` is declared FOR TYPE `%s.%s`, which is an encrypted-domain type. Opclasses on domains bypass operator resolution. Use a functional index on the extractor (e.g. `%s.eq_term(col)`, `%s.ord_term(col)`) instead.',\n cn.nspname, oc.opcname, tn.nspname, t.typname, tn.nspname, tn.nspname)\n FROM pg_catalog.pg_opclass oc\n JOIN pg_catalog.pg_type t ON t.oid = oc.opcintype\n JOIN pg_catalog.pg_namespace tn ON tn.oid = t.typnamespace\n JOIN pg_catalog.pg_namespace cn ON cn.oid = oc.opcnamespace\n WHERE t.oid IN (SELECT typid FROM encrypted_domain_types)\n\n -- ┌─────────────────────────────────────────────────────────────────┐\n -- │ Schema placement: the public `eql_v3` schema must hold only the │\n -- │ jsonb-backed encrypted-domain types. A naked composite/enum type │\n -- │ there is an internal index-term type in the wrong schema — it │\n -- │ clutters the Supabase type picker the split exists to keep clean. │\n -- └─────────────────────────────────────────────────────────────────┘\n\n UNION ALL\n\n SELECT\n 'error',\n 'schema_placement',\n format('type %I.%I', n.nspname, t.typname),\n format(\n 'Type `%s.%s` is a %s in the public `eql_v3` schema. Only jsonb-backed encrypted-domain types belong in `eql_v3`; internal index-term types belong in `eql_v3_internal` so they stay out of the Supabase Table Builder type picker. Move it to `eql_v3_internal`.',\n n.nspname, t.typname,\n CASE t.typtype WHEN 'c' THEN 'composite type' WHEN 'e' THEN 'enum type' ELSE 'type' END)\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n WHERE n.nspname = 'eql_v3'\n AND t.typtype IN ('c', 'e')\n\n ORDER BY 1, 2, 3;\n$$;\n\nCOMMENT ON FUNCTION eql_v3.lints() IS\n 'EQL lint: returns one row per non-inlinable operator implementation. '\n 'Run `SELECT * FROM eql_v3.lints() WHERE severity = ''error''` for a '\n 'CI-gateable check that all operator implementations on eql_v3 types are '\n 'eligible for planner inlining.';\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/json_entry_bigint_functions.sql\n--! @brief Functions for public.eql_v3_json_entry.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_bigint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_bigint_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_bigint_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_bigint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_bigint_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_bigint_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_bigint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_bigint_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_bigint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_bigint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_bigint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_bigint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_bigint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_bigint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_bigint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_bigint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_bigint_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_operators.sql\n--! @brief Operators for public.eql_v3_bigint.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = public.eql_v3_bigint\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_eq_functions.sql\n--! @brief Functions for public.eql_v3_bigint_eq.\n\n--! @brief Index extractor for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a public.eql_v3_bigint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::public.eql_v3_bigint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_bigint_eq) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b jsonb\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::public.eql_v3_bigint_eq) $$;\n\n--! @brief Operator wrapper for public.eql_v3_bigint_eq.\n--! @param a jsonb\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a::public.eql_v3_bigint_eq) <> eql_v3.eq_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_bigint_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_eq, selector text)\nRETURNS public.eql_v3_bigint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_bigint_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_bigint_eq, selector integer)\nRETURNS public.eql_v3_bigint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return public.eql_v3_bigint_eq never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_bigint_eq)\nRETURNS public.eql_v3_bigint_eq IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_eq, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_bigint_eq, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_bigint_eq)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_bigint_eq, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_bigint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_bigint_eq, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_eq, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_eq, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_bigint_eq, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_bigint_eq left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_bigint_eq, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_bigint_eq.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_bigint_eq and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_bigint_eq right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_bigint_eq)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_bigint_eq'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_bigint_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_bigint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a public.eql_v3_bigint_ord_ore\n--! @param b eql_v3.query_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_bigint_ord_ore, b eql_v3.query_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_ord_ore.\n--! @param a eql_v3.query_bigint_ord_ore\n--! @param b public.eql_v3_bigint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_bigint_ord_ore, b public.eql_v3_bigint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_eq_functions.sql\n--! @brief Functions for eql_v3.query_bigint_eq.\n\n--! @brief Index extractor for eql_v3.query_bigint_eq.\n--! @param a eql_v3.query_bigint_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_bigint_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b eql_v3.query_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_bigint_eq, b eql_v3.query_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a eql_v3.query_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a public.eql_v3_bigint_eq\n--! @param b eql_v3.query_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_bigint_eq, b eql_v3.query_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_bigint_eq.\n--! @param a eql_v3.query_bigint_eq\n--! @param b public.eql_v3_bigint_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_bigint_eq, b public.eql_v3_bigint_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_bigint_ord_ore.\n\n--! @brief State function for min on public.eql_v3_bigint_ord_ore.\n--! @param state public.eql_v3_bigint_ord_ore\n--! @param value public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_bigint_ord_ore, value public.eql_v3_bigint_ord_ore)\nRETURNS public.eql_v3_bigint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_bigint_ord_ore.\n--! @param input public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_bigint_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_bigint_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_bigint_ord_ore.\n--! @param state public.eql_v3_bigint_ord_ore\n--! @param value public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_bigint_ord_ore, value public.eql_v3_bigint_ord_ore)\nRETURNS public.eql_v3_bigint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_bigint_ord_ore.\n--! @param input public.eql_v3_bigint_ord_ore\n--! @return public.eql_v3_bigint_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_bigint_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_bigint_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_bigint_ord.\n\n--! @brief State function for min on public.eql_v3_bigint_ord.\n--! @param state public.eql_v3_bigint_ord\n--! @param value public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_bigint_ord, value public.eql_v3_bigint_ord)\nRETURNS public.eql_v3_bigint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_bigint_ord.\n--! @param input public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_bigint_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_bigint_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_bigint_ord.\n--! @param state public.eql_v3_bigint_ord\n--! @param value public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_bigint_ord, value public.eql_v3_bigint_ord)\nRETURNS public.eql_v3_bigint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_bigint_ord.\n--! @param input public.eql_v3_bigint_ord\n--! @return public.eql_v3_bigint_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_bigint_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_bigint_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_operators.sql\n--! @brief Operators for eql_v3.query_bigint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_bigint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_eq_operators.sql\n--! @brief Operators for eql_v3.query_bigint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = eql_v3.query_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = eql_v3.query_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_bigint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ore, RIGHTARG = eql_v3.query_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord_ore, RIGHTARG = public.eql_v3_bigint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/json_entry_bigint_operators.sql\n--! @brief Operators for public.eql_v3_json_entry.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord_ope\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord_ope\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_eq_operators.sql\n--! @brief Operators for public.eql_v3_bigint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = public.eql_v3_bigint_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_bigint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_bigint_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/bigint_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_bigint_ord_ope.\n\n--! @brief State function for min on public.eql_v3_bigint_ord_ope.\n--! @param state public.eql_v3_bigint_ord_ope\n--! @param value public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_bigint_ord_ope, value public.eql_v3_bigint_ord_ope)\nRETURNS public.eql_v3_bigint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_bigint_ord_ope.\n--! @param input public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_bigint_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_bigint_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_bigint_ord_ope.\n--! @param state public.eql_v3_bigint_ord_ope\n--! @param value public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_bigint_ord_ope, value public.eql_v3_bigint_ord_ope)\nRETURNS public.eql_v3_bigint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_bigint_ord_ope.\n--! @param input public.eql_v3_bigint_ord_ope\n--! @return public.eql_v3_bigint_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_bigint_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_bigint_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/bigint/query_bigint_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_bigint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_bigint_ord_ope, RIGHTARG = eql_v3.query_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_bigint_ord_ope, RIGHTARG = public.eql_v3_bigint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_real_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = eql_v3.query_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ore_operators.sql\n--! @brief Operators for public.eql_v3_real_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = public.eql_v3_real_ord_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_operators.sql\n--! @brief Operators for public.eql_v3_real_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = public.eql_v3_real_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/json_entry_real_functions.sql\n--! @brief Functions for public.eql_v3_json_entry.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_real_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_real_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_real_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_real_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_real_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_real_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_real_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_real_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_real_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_real_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_real_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_real_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_real_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_real_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_real_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_real_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_real_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_real_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_real_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_real_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_real_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_real_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_real_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_real_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_real_ord_ore.\n\n--! @brief State function for min on public.eql_v3_real_ord_ore.\n--! @param state public.eql_v3_real_ord_ore\n--! @param value public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_real_ord_ore, value public.eql_v3_real_ord_ore)\nRETURNS public.eql_v3_real_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_real_ord_ore.\n--! @param input public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_real_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_real_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_real_ord_ore.\n--! @param state public.eql_v3_real_ord_ore\n--! @param value public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_real_ord_ore, value public.eql_v3_real_ord_ore)\nRETURNS public.eql_v3_real_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_real_ord_ore.\n--! @param input public.eql_v3_real_ord_ore\n--! @return public.eql_v3_real_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_real_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_real_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_real_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_eq_operators.sql\n--! @brief Operators for eql_v3.query_real_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = eql_v3.query_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = eql_v3.query_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_real_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord_ope, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_functions.sql\n--! @brief Functions for public.eql_v3_real.\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_real never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real, selector text)\nRETURNS public.eql_v3_real IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_real never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_real, selector integer)\nRETURNS public.eql_v3_real IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real right operand of the blocked operator\n--! @return public.eql_v3_real never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_real)\nRETURNS public.eql_v3_real IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_real, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_real right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_real)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_real, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_real, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_real, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_real, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_real)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_real, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_real, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_real, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_real, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_real, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real, b public.eql_v3_real)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_real left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_real, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_real.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_real and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_real right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_real)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_real'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_real_ord.\n\n--! @brief State function for min on public.eql_v3_real_ord.\n--! @param state public.eql_v3_real_ord\n--! @param value public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_real_ord, value public.eql_v3_real_ord)\nRETURNS public.eql_v3_real_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_real_ord.\n--! @param input public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_real_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_real_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_real_ord.\n--! @param state public.eql_v3_real_ord\n--! @param value public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_real_ord, value public.eql_v3_real_ord)\nRETURNS public.eql_v3_real_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_real_ord.\n--! @param input public.eql_v3_real_ord\n--! @return public.eql_v3_real_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_real_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_real_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/query_real_ord_operators.sql\n--! @brief Operators for eql_v3.query_real_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_real_ord, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/json_entry_real_operators.sql\n--! @brief Operators for public.eql_v3_json_entry.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord_ope\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord_ope\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_real_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_real_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_operators.sql\n--! @brief Operators for public.eql_v3_real.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real, RIGHTARG = public.eql_v3_real\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_real_ord_ope.\n\n--! @brief State function for min on public.eql_v3_real_ord_ope.\n--! @param state public.eql_v3_real_ord_ope\n--! @param value public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_real_ord_ope, value public.eql_v3_real_ord_ope)\nRETURNS public.eql_v3_real_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_real_ord_ope.\n--! @param input public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_real_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_real_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_real_ord_ope.\n--! @param state public.eql_v3_real_ord_ope\n--! @param value public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_real_ord_ope, value public.eql_v3_real_ord_ope)\nRETURNS public.eql_v3_real_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_real_ord_ope.\n--! @param input public.eql_v3_real_ord_ope\n--! @return public.eql_v3_real_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_real_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_real_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/real/real_eq_operators.sql\n--! @brief Operators for public.eql_v3_real_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = public.eql_v3_real_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_real_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_real_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_smallint_ord_ore.\n\n--! @brief State function for min on public.eql_v3_smallint_ord_ore.\n--! @param state public.eql_v3_smallint_ord_ore\n--! @param value public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_smallint_ord_ore, value public.eql_v3_smallint_ord_ore)\nRETURNS public.eql_v3_smallint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_smallint_ord_ore.\n--! @param input public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_smallint_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_smallint_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_smallint_ord_ore.\n--! @param state public.eql_v3_smallint_ord_ore\n--! @param value public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_smallint_ord_ore, value public.eql_v3_smallint_ord_ore)\nRETURNS public.eql_v3_smallint_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_smallint_ord_ore.\n--! @param input public.eql_v3_smallint_ord_ore\n--! @return public.eql_v3_smallint_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_smallint_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_smallint_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_smallint_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_smallint_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a public.eql_v3_smallint_ord_ope\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ope, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ope.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord_ope, b public.eql_v3_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_smallint_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_smallint_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a public.eql_v3_smallint_ord_ore\n--! @param b eql_v3.query_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_smallint_ord_ore, b eql_v3.query_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_smallint_ord_ore.\n--! @param a eql_v3.query_smallint_ord_ore\n--! @param b public.eql_v3_smallint_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord_ore, b public.eql_v3_smallint_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_operators.sql\n--! @brief Operators for public.eql_v3_smallint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_eq_operators.sql\n--! @brief Operators for eql_v3.query_smallint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = eql_v3.query_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = eql_v3.query_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/json_entry_smallint_functions.sql\n--! @brief Functions for public.eql_v3_json_entry.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_smallint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_smallint_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_smallint_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_smallint_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_smallint_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_smallint_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_smallint_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_smallint_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_smallint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_smallint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_smallint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_smallint_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_smallint_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_smallint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_smallint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_smallint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_smallint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_smallint_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_smallint_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_smallint_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_smallint_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_operators.sql\n--! @brief Operators for eql_v3.query_smallint_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_operators.sql\n--! @brief Operators for public.eql_v3_smallint.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = public.eql_v3_smallint\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_smallint_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ope, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_eq_operators.sql\n--! @brief Operators for public.eql_v3_smallint_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = public.eql_v3_smallint_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_smallint_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_smallint_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_smallint_ord_ope.\n\n--! @brief State function for min on public.eql_v3_smallint_ord_ope.\n--! @param state public.eql_v3_smallint_ord_ope\n--! @param value public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_smallint_ord_ope, value public.eql_v3_smallint_ord_ope)\nRETURNS public.eql_v3_smallint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_smallint_ord_ope.\n--! @param input public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_smallint_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_smallint_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_smallint_ord_ope.\n--! @param state public.eql_v3_smallint_ord_ope\n--! @param value public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_smallint_ord_ope, value public.eql_v3_smallint_ord_ope)\nRETURNS public.eql_v3_smallint_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_smallint_ord_ope.\n--! @param input public.eql_v3_smallint_ord_ope\n--! @return public.eql_v3_smallint_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_smallint_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_smallint_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/query_smallint_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_smallint_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_smallint_ord_ore, RIGHTARG = eql_v3.query_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord_ore, RIGHTARG = public.eql_v3_smallint_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/smallint_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_smallint_ord.\n\n--! @brief State function for min on public.eql_v3_smallint_ord.\n--! @param state public.eql_v3_smallint_ord\n--! @param value public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_smallint_ord, value public.eql_v3_smallint_ord)\nRETURNS public.eql_v3_smallint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_smallint_ord.\n--! @param input public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_smallint_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_smallint_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_smallint_ord.\n--! @param state public.eql_v3_smallint_ord\n--! @param value public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_smallint_ord, value public.eql_v3_smallint_ord)\nRETURNS public.eql_v3_smallint_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_smallint_ord.\n--! @param input public.eql_v3_smallint_ord\n--! @return public.eql_v3_smallint_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_smallint_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_smallint_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/smallint/json_entry_smallint_operators.sql\n--! @brief Operators for public.eql_v3_json_entry.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord_ope\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord_ope\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_smallint_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_smallint_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_operators.sql\n--! @brief Operators for eql_v3.query_date_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = eql_v3.query_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/json_entry_date_operators.sql\n--! @brief Operators for public.eql_v3_json_entry.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = eql_v3.query_date_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord_ope\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord_ope\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord_ope\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord_ope\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord_ope\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_date_ord_ope\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_date_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_date_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a public.eql_v3_date_ord_ore\n--! @param b eql_v3.query_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ore, b eql_v3.query_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ore.\n--! @param a eql_v3.query_date_ord_ore\n--! @param b public.eql_v3_date_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_date_ord_ore, b public.eql_v3_date_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_date_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_date_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a public.eql_v3_date_ord_ope\n--! @param b eql_v3.query_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_date_ord_ope, b eql_v3.query_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_ord_ope.\n--! @param a eql_v3.query_date_ord_ope\n--! @param b public.eql_v3_date_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_date_ord_ope, b public.eql_v3_date_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_eq_operators.sql\n--! @brief Operators for public.eql_v3_date_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = public.eql_v3_date_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_operators.sql\n--! @brief Operators for public.eql_v3_date.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date, RIGHTARG = public.eql_v3_date\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_date_ord_ore.\n\n--! @brief State function for min on public.eql_v3_date_ord_ore.\n--! @param state public.eql_v3_date_ord_ore\n--! @param value public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_date_ord_ore, value public.eql_v3_date_ord_ore)\nRETURNS public.eql_v3_date_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_date_ord_ore.\n--! @param input public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_date_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_date_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_date_ord_ore.\n--! @param state public.eql_v3_date_ord_ore\n--! @param value public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_date_ord_ore, value public.eql_v3_date_ord_ore)\nRETURNS public.eql_v3_date_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_date_ord_ore.\n--! @param input public.eql_v3_date_ord_ore\n--! @return public.eql_v3_date_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_date_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_date_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_eq_functions.sql\n--! @brief Functions for eql_v3.query_date_eq.\n\n--! @brief Index extractor for eql_v3.query_date_eq.\n--! @param a eql_v3.query_date_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_date_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b eql_v3.query_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_date_eq, b eql_v3.query_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a eql_v3.query_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a public.eql_v3_date_eq\n--! @param b eql_v3.query_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_date_eq, b eql_v3.query_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_date_eq.\n--! @param a eql_v3.query_date_eq\n--! @param b public.eql_v3_date_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_date_eq, b public.eql_v3_date_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_date_ord_ope.\n\n--! @brief State function for min on public.eql_v3_date_ord_ope.\n--! @param state public.eql_v3_date_ord_ope\n--! @param value public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_date_ord_ope, value public.eql_v3_date_ord_ope)\nRETURNS public.eql_v3_date_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_date_ord_ope.\n--! @param input public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_date_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_date_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_date_ord_ope.\n--! @param state public.eql_v3_date_ord_ope\n--! @param value public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_date_ord_ope, value public.eql_v3_date_ord_ope)\nRETURNS public.eql_v3_date_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_date_ord_ope.\n--! @param input public.eql_v3_date_ord_ope\n--! @return public.eql_v3_date_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_date_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_date_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_date_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ore, RIGHTARG = eql_v3.query_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_date_ord_ore, RIGHTARG = public.eql_v3_date_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_operators.sql\n--! @brief Operators for public.eql_v3_date_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = public.eql_v3_date_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_date_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_date_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/date_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_date_ord.\n\n--! @brief State function for min on public.eql_v3_date_ord.\n--! @param state public.eql_v3_date_ord\n--! @param value public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_date_ord, value public.eql_v3_date_ord)\nRETURNS public.eql_v3_date_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_date_ord.\n--! @param input public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_date_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_date_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_date_ord.\n--! @param state public.eql_v3_date_ord\n--! @param value public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_date_ord, value public.eql_v3_date_ord)\nRETURNS public.eql_v3_date_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_date_ord.\n--! @param input public.eql_v3_date_ord\n--! @return public.eql_v3_date_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_date_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_date_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_eq_operators.sql\n--! @brief Operators for eql_v3.query_date_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = eql_v3.query_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_eq, RIGHTARG = eql_v3.query_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_eq, RIGHTARG = public.eql_v3_date_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/date/query_date_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_date_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_date_ord_ope, RIGHTARG = eql_v3.query_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_date_ord_ope, RIGHTARG = public.eql_v3_date_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_eq_functions.sql\n--! @brief Functions for eql_v3.query_numeric_eq.\n\n--! @brief Index extractor for eql_v3.query_numeric_eq.\n--! @param a eql_v3.query_numeric_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_numeric_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b eql_v3.query_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_numeric_eq, b eql_v3.query_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a eql_v3.query_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a public.eql_v3_numeric_eq\n--! @param b eql_v3.query_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_numeric_eq, b eql_v3.query_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_numeric_eq.\n--! @param a eql_v3.query_numeric_eq\n--! @param b public.eql_v3_numeric_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_numeric_eq, b public.eql_v3_numeric_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_operators.sql\n--! @brief Operators for eql_v3.query_numeric_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_numeric_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ore, RIGHTARG = eql_v3.query_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord_ore, RIGHTARG = public.eql_v3_numeric_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_functions.sql\n--! @brief Functions for public.eql_v3_numeric.\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_numeric never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric, selector text)\nRETURNS public.eql_v3_numeric IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_numeric never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_numeric, selector integer)\nRETURNS public.eql_v3_numeric IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric right operand of the blocked operator\n--! @return public.eql_v3_numeric never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_numeric)\nRETURNS public.eql_v3_numeric IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_numeric, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_numeric right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_numeric)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_numeric, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_numeric, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_numeric, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_numeric, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_numeric)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_numeric, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_numeric, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_numeric, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_numeric, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_numeric, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric, b public.eql_v3_numeric)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_numeric left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_numeric, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_numeric.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_numeric and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_numeric right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_numeric)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_numeric'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/json_entry_numeric_functions.sql\n--! @brief Functions for public.eql_v3_json_entry.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_numeric_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_numeric_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_numeric_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_numeric_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_numeric_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_numeric_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_numeric_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_numeric_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_numeric_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_numeric_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_numeric_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_numeric_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_numeric_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_numeric_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_numeric_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_numeric_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_numeric_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_numeric_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_numeric_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_numeric_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_numeric_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_numeric_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord_ope, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_eq_operators.sql\n--! @brief Operators for public.eql_v3_numeric_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_numeric_ord_ore.\n\n--! @brief State function for min on public.eql_v3_numeric_ord_ore.\n--! @param state public.eql_v3_numeric_ord_ore\n--! @param value public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_numeric_ord_ore, value public.eql_v3_numeric_ord_ore)\nRETURNS public.eql_v3_numeric_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_numeric_ord_ore.\n--! @param input public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_numeric_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_numeric_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_numeric_ord_ore.\n--! @param state public.eql_v3_numeric_ord_ore\n--! @param value public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_numeric_ord_ore, value public.eql_v3_numeric_ord_ore)\nRETURNS public.eql_v3_numeric_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_numeric_ord_ore.\n--! @param input public.eql_v3_numeric_ord_ore\n--! @return public.eql_v3_numeric_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_numeric_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_numeric_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_operators.sql\n--! @brief Operators for public.eql_v3_numeric.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = public.eql_v3_numeric\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/query_numeric_eq_operators.sql\n--! @brief Operators for eql_v3.query_numeric_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = eql_v3.query_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_eq, RIGHTARG = eql_v3.query_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_numeric_eq, RIGHTARG = public.eql_v3_numeric_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_numeric_ord_ope.\n\n--! @brief State function for min on public.eql_v3_numeric_ord_ope.\n--! @param state public.eql_v3_numeric_ord_ope\n--! @param value public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_numeric_ord_ope, value public.eql_v3_numeric_ord_ope)\nRETURNS public.eql_v3_numeric_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_numeric_ord_ope.\n--! @param input public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_numeric_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_numeric_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_numeric_ord_ope.\n--! @param state public.eql_v3_numeric_ord_ope\n--! @param value public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_numeric_ord_ope, value public.eql_v3_numeric_ord_ope)\nRETURNS public.eql_v3_numeric_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_numeric_ord_ope.\n--! @param input public.eql_v3_numeric_ord_ope\n--! @return public.eql_v3_numeric_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_numeric_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_numeric_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_operators.sql\n--! @brief Operators for public.eql_v3_numeric_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = public.eql_v3_numeric_ord\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_numeric_ord, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_numeric_ord\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/json_entry_numeric_operators.sql\n--! @brief Operators for public.eql_v3_json_entry.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord_ope\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord_ope\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_numeric_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_numeric_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/numeric/numeric_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_numeric_ord.\n\n--! @brief State function for min on public.eql_v3_numeric_ord.\n--! @param state public.eql_v3_numeric_ord\n--! @param value public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_numeric_ord, value public.eql_v3_numeric_ord)\nRETURNS public.eql_v3_numeric_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_numeric_ord.\n--! @param input public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_numeric_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_numeric_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_numeric_ord.\n--! @param state public.eql_v3_numeric_ord\n--! @param value public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_numeric_ord, value public.eql_v3_numeric_ord)\nRETURNS public.eql_v3_numeric_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_numeric_ord.\n--! @param input public.eql_v3_numeric_ord\n--! @return public.eql_v3_numeric_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_numeric_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_numeric_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/json/json_operators.sql\n--! @brief Operators for public.eql_v3_json.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_json, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_json, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_json, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_json, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_json, RIGHTARG = public.eql_v3_json\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_json, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_json\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/boolean/boolean_types.sql\n--! @brief Encrypted-domain types for boolean.\n\nDO $$\nBEGIN\n --! @brief Encrypted domain public.eql_v3_boolean.\n IF NOT EXISTS (\n SELECT 1 FROM pg_type\n WHERE typname = 'eql_v3_boolean' AND typnamespace = 'public'::regnamespace\n ) THEN\n CREATE DOMAIN public.eql_v3_boolean AS jsonb\n CHECK (\n jsonb_typeof(VALUE) = 'object'\n AND VALUE ? 'v'\n AND VALUE ? 'i'\n AND VALUE ? 'c'\n AND VALUE->>'v' = '3'\n );\n END IF;\n\n COMMENT ON DOMAIN public.eql_v3_boolean IS 'EQL encrypted boolean (storage only)';\nEND\n$$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/boolean/boolean_functions.sql\n--! @brief Functions for public.eql_v3_boolean.\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_boolean, selector text)\nRETURNS public.eql_v3_boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_boolean, selector integer)\nRETURNS public.eql_v3_boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_boolean right operand of the blocked operator\n--! @return public.eql_v3_boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_boolean)\nRETURNS public.eql_v3_boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_boolean, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_boolean, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_boolean right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_boolean)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_boolean, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_boolean, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_boolean, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_boolean, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_boolean, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_boolean)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_boolean, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_boolean, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_boolean, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_boolean, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_boolean, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_boolean, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_boolean, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_boolean, b public.eql_v3_boolean)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_boolean left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_boolean, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_boolean.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_boolean and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_boolean right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_boolean)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_boolean'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/boolean/boolean_operators.sql\n--! @brief Operators for public.eql_v3_boolean.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = public.eql_v3_boolean\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_boolean, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_boolean\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_functions.sql\n--! @brief Functions for eql_v3.query_double_ord.\n\n--! @brief Index extractor for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_double_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a public.eql_v3_double_ord\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord, b public.eql_v3_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_double_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_double_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a public.eql_v3_double_ord_ore\n--! @param b eql_v3.query_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_double_ord_ore, b eql_v3.query_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_double_ord_ore.\n--! @param a eql_v3.query_double_ord_ore\n--! @param b public.eql_v3_double_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord_ore, b public.eql_v3_double_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_double_ord.\n\n--! @brief State function for min on public.eql_v3_double_ord.\n--! @param state public.eql_v3_double_ord\n--! @param value public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_double_ord, value public.eql_v3_double_ord)\nRETURNS public.eql_v3_double_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_double_ord.\n--! @param input public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_double_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_double_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_double_ord.\n--! @param state public.eql_v3_double_ord\n--! @param value public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_double_ord, value public.eql_v3_double_ord)\nRETURNS public.eql_v3_double_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_double_ord.\n--! @param input public.eql_v3_double_ord\n--! @return public.eql_v3_double_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_double_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_double_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_double_ord_ope.\n\n--! @brief State function for min on public.eql_v3_double_ord_ope.\n--! @param state public.eql_v3_double_ord_ope\n--! @param value public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_double_ord_ope, value public.eql_v3_double_ord_ope)\nRETURNS public.eql_v3_double_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_double_ord_ope.\n--! @param input public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_double_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_double_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_double_ord_ope.\n--! @param state public.eql_v3_double_ord_ope\n--! @param value public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_double_ord_ope, value public.eql_v3_double_ord_ope)\nRETURNS public.eql_v3_double_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_double_ord_ope.\n--! @param input public.eql_v3_double_ord_ope\n--! @return public.eql_v3_double_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_double_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_double_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_operators.sql\n--! @brief Operators for public.eql_v3_double.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double, RIGHTARG = public.eql_v3_double\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/json_entry_double_functions.sql\n--! @brief Functions for public.eql_v3_json_entry.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_double_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_double_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_double_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_double_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_double_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_double_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_double_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_double_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_double_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_double_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_double_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_double_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_double_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_double_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_double_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_double_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_double_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_double_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_double_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_double_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_double_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_double_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_double_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_double_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_eq_operators.sql\n--! @brief Operators for eql_v3.query_double_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = eql_v3.query_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = eql_v3.query_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_eq_operators.sql\n--! @brief Operators for public.eql_v3_double_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = public.eql_v3_double_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_double_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_double_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_double_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ore, RIGHTARG = eql_v3.query_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord_ore, RIGHTARG = public.eql_v3_double_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_operators.sql\n--! @brief Operators for eql_v3.query_double_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/json_entry_double_operators.sql\n--! @brief Operators for public.eql_v3_json_entry.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord_ope\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord_ope\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/double_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_double_ord_ore.\n\n--! @brief State function for min on public.eql_v3_double_ord_ore.\n--! @param state public.eql_v3_double_ord_ore\n--! @param value public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_double_ord_ore, value public.eql_v3_double_ord_ore)\nRETURNS public.eql_v3_double_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_double_ord_ore.\n--! @param input public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_double_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_double_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_double_ord_ore.\n--! @param state public.eql_v3_double_ord_ore\n--! @param value public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_double_ord_ore, value public.eql_v3_double_ord_ore)\nRETURNS public.eql_v3_double_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_double_ord_ore.\n--! @param input public.eql_v3_double_ord_ore\n--! @return public.eql_v3_double_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_double_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_double_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/double/query_double_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_double_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_double_ord_ope, RIGHTARG = eql_v3.query_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_double_ord_ope, RIGHTARG = public.eql_v3_double_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_integer_ord.\n\n--! @brief State function for min on public.eql_v3_integer_ord.\n--! @param state public.eql_v3_integer_ord\n--! @param value public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_integer_ord, value public.eql_v3_integer_ord)\nRETURNS public.eql_v3_integer_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_integer_ord.\n--! @param input public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_integer_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_integer_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_integer_ord.\n--! @param state public.eql_v3_integer_ord\n--! @param value public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_integer_ord, value public.eql_v3_integer_ord)\nRETURNS public.eql_v3_integer_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_integer_ord.\n--! @param input public.eql_v3_integer_ord\n--! @return public.eql_v3_integer_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_integer_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_integer_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_integer_ord_ore.\n\n--! @brief State function for min on public.eql_v3_integer_ord_ore.\n--! @param state public.eql_v3_integer_ord_ore\n--! @param value public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_integer_ord_ore, value public.eql_v3_integer_ord_ore)\nRETURNS public.eql_v3_integer_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_integer_ord_ore.\n--! @param input public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_integer_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_integer_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_integer_ord_ore.\n--! @param state public.eql_v3_integer_ord_ore\n--! @param value public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_integer_ord_ore, value public.eql_v3_integer_ord_ore)\nRETURNS public.eql_v3_integer_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_integer_ord_ore.\n--! @param input public.eql_v3_integer_ord_ore\n--! @return public.eql_v3_integer_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_integer_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_integer_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/json_entry_integer_operators.sql\n--! @brief Operators for public.eql_v3_json_entry.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord_ope\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord_ope\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_integer_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_integer_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a public.eql_v3_integer_ord_ore\n--! @param b eql_v3.query_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_integer_ord_ore, b eql_v3.query_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_integer_ord_ore.\n--! @param a eql_v3.query_integer_ord_ore\n--! @param b public.eql_v3_integer_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_integer_ord_ore, b public.eql_v3_integer_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_integer_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_operators.sql\n--! @brief Operators for public.eql_v3_integer.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = public.eql_v3_integer\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_eq_operators.sql\n--! @brief Operators for eql_v3.query_integer_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = eql_v3.query_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = eql_v3.query_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_integer_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ore, RIGHTARG = eql_v3.query_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord_ore, RIGHTARG = public.eql_v3_integer_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_eq_operators.sql\n--! @brief Operators for public.eql_v3_integer_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = public.eql_v3_integer_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_integer_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_integer_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_operators.sql\n--! @brief Operators for eql_v3.query_integer_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord, RIGHTARG = eql_v3.query_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord, RIGHTARG = public.eql_v3_integer_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/integer_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_integer_ord_ope.\n\n--! @brief State function for min on public.eql_v3_integer_ord_ope.\n--! @param state public.eql_v3_integer_ord_ope\n--! @param value public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_integer_ord_ope, value public.eql_v3_integer_ord_ope)\nRETURNS public.eql_v3_integer_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_integer_ord_ope.\n--! @param input public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_integer_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_integer_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_integer_ord_ope.\n--! @param state public.eql_v3_integer_ord_ope\n--! @param value public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_integer_ord_ope, value public.eql_v3_integer_ord_ope)\nRETURNS public.eql_v3_integer_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_integer_ord_ope.\n--! @param input public.eql_v3_integer_ord_ope\n--! @return public.eql_v3_integer_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_integer_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_integer_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/integer/query_integer_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_integer_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_integer_ord_ope, RIGHTARG = eql_v3.query_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_integer_ord_ope, RIGHTARG = public.eql_v3_integer_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file v3/scalars/ore_fallback.sql\n--! @brief Disable the ORE-backed encrypted domains when the ORE operator class is absent.\n--!\n--! Runs after the DO block in src/v3/sem/ore_block_256/operator_class.sql,\n--! which ATTEMPTS to create the default btree operator class for\n--! eql_v3_internal.ore_block_256 and skips it on insufficient_privilege\n--! (CREATE OPERATOR CLASS requires superuser; managed platforms — cloud\n--! Supabase and most hosted Postgres — run the installer as a non-superuser\n--! role). When the class was created, this file is a no-op.\n--!\n--! When the class was skipped, the ORE-carrying domains would otherwise\n--! install half-working: `<`/`>` comparisons still run (as unindexable seq\n--! scans), while `CREATE INDEX ... (eql_v3.ord_term(col))` and bare\n--! `ORDER BY` fail with opaque Postgres errors. Instead of that silent\n--! degradation, this file poisons every ORE-carrying domain (and its\n--! query-operand twin) with an always-raising CHECK constraint, so the first\n--! value coerced into the domain fails loudly and points at the\n--! platform-supported alternatives (OPE ordering / HMAC equality /\n--! bloom-filter match).\n--!\n--! Footguns honoured (see the encrypted-domain footgun list in CLAUDE.md):\n--! the poison function is LANGUAGE plpgsql (never inlined, so the RAISE\n--! cannot be planned away) and NOT STRICT (a STRICT function is skipped for\n--! NULL inputs, which would silently let NULLs through the poisoned domain).\n--!\n--! The poison constraints are added NOT VALID. For domains — unlike table\n--! constraints — this does not weaken enforcement: coercion applies every\n--! constraint regardless of validation status, so new casts and inserts\n--! (including NULL) still raise. What it skips is validating existing stored\n--! data: without it, re-running the installer over a database that already\n--! holds ORE values (written under an earlier superuser install, before the\n--! installing role was demoted) would run the always-raising poison against\n--! every stored row and abort the install.\n\nDO $do$\nBEGIN\n IF EXISTS (\n SELECT 1\n FROM pg_catalog.pg_opclass c\n JOIN pg_catalog.pg_am am ON am.oid = c.opcmethod\n WHERE am.amname = 'btree'\n AND c.opcdefault\n AND c.opcintype = 'eql_v3_internal.ore_block_256'::pg_catalog.regtype\n ) THEN\n RETURN;\n END IF;\n\n --! @brief Poison CHECK backing for the ORE-carrying domains on platforms\n --! without the ORE operator class. Always raises; never returns.\n --! @internal\n CREATE FUNCTION eql_v3_internal.ore_domain_unavailable(val jsonb, domain_name text, alternatives text)\n RETURNS boolean\n IMMUTABLE PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\n LANGUAGE plpgsql\n AS $poison$\n BEGIN\n RAISE EXCEPTION 'EQL: % cannot be used on this platform: the EQL installer could not create the ORE operator class (requires superuser, unavailable on e.g. cloud-hosted Supabase)', domain_name\n USING HINT = 'Use ' || alternatives || ' instead.',\n ERRCODE = 'feature_not_supported';\n END;\n $poison$;\n -- NOT VALID: skip validating existing stored data (rows written under an\n -- earlier superuser install must stay readable, and re-installing over them\n -- must not abort). Domain coercion still enforces the CHECK on every new\n -- cast/insert regardless of validation status.\n\n ALTER DOMAIN public.eql_v3_integer_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_integer_ord_ore', 'public.eql_v3_integer_eq (equality) or public.eql_v3_integer_ord (ordering) or public.eql_v3_integer_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_integer_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_integer_ord_ore', 'eql_v3.query_integer_eq (equality) or eql_v3.query_integer_ord (ordering) or eql_v3.query_integer_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_smallint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_smallint_ord_ore', 'public.eql_v3_smallint_eq (equality) or public.eql_v3_smallint_ord (ordering) or public.eql_v3_smallint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_smallint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_smallint_ord_ore', 'eql_v3.query_smallint_eq (equality) or eql_v3.query_smallint_ord (ordering) or eql_v3.query_smallint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_bigint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_bigint_ord_ore', 'public.eql_v3_bigint_eq (equality) or public.eql_v3_bigint_ord (ordering) or public.eql_v3_bigint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_bigint_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_bigint_ord_ore', 'eql_v3.query_bigint_eq (equality) or eql_v3.query_bigint_ord (ordering) or eql_v3.query_bigint_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_date_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_date_ord_ore', 'public.eql_v3_date_eq (equality) or public.eql_v3_date_ord (ordering) or public.eql_v3_date_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_date_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_date_ord_ore', 'eql_v3.query_date_eq (equality) or eql_v3.query_date_ord (ordering) or eql_v3.query_date_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_timestamp_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_timestamp_ord_ore', 'public.eql_v3_timestamp_eq (equality) or public.eql_v3_timestamp_ord (ordering) or public.eql_v3_timestamp_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_timestamp_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_timestamp_ord_ore', 'eql_v3.query_timestamp_eq (equality) or eql_v3.query_timestamp_ord (ordering) or eql_v3.query_timestamp_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_numeric_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_numeric_ord_ore', 'public.eql_v3_numeric_eq (equality) or public.eql_v3_numeric_ord (ordering) or public.eql_v3_numeric_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_numeric_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_numeric_ord_ore', 'eql_v3.query_numeric_eq (equality) or eql_v3.query_numeric_ord (ordering) or eql_v3.query_numeric_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_text_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_text_ord_ore', 'public.eql_v3_text_eq (equality) or public.eql_v3_text_match (match) or public.eql_v3_text_ord (ordering) or public.eql_v3_text_ord_ope (ordering) or public.eql_v3_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_text_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_text_ord_ore', 'eql_v3.query_text_eq (equality) or eql_v3.query_text_match (match) or eql_v3.query_text_ord (ordering) or eql_v3.query_text_ord_ope (ordering) or eql_v3.query_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_text_search_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_text_search_ore', 'public.eql_v3_text_eq (equality) or public.eql_v3_text_match (match) or public.eql_v3_text_ord (ordering) or public.eql_v3_text_ord_ope (ordering) or public.eql_v3_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_text_search_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_text_search_ore', 'eql_v3.query_text_eq (equality) or eql_v3.query_text_match (match) or eql_v3.query_text_ord (ordering) or eql_v3.query_text_ord_ope (ordering) or eql_v3.query_text_search (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_real_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_real_ord_ore', 'public.eql_v3_real_eq (equality) or public.eql_v3_real_ord (ordering) or public.eql_v3_real_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_real_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_real_ord_ore', 'eql_v3.query_real_eq (equality) or eql_v3.query_real_ord (ordering) or eql_v3.query_real_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN public.eql_v3_double_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'public.eql_v3_double_ord_ore', 'public.eql_v3_double_eq (equality) or public.eql_v3_double_ord (ordering) or public.eql_v3_double_ord_ope (ordering)')) NOT VALID;\n\n ALTER DOMAIN eql_v3.query_double_ord_ore ADD CONSTRAINT eql_ore_unavailable\n CHECK (eql_v3_internal.ore_domain_unavailable(VALUE, 'eql_v3.query_double_ord_ore', 'eql_v3.query_double_eq (equality) or eql_v3.query_double_ord (ordering) or eql_v3.query_double_ord_ope (ordering)')) NOT VALID;\n\n RAISE NOTICE 'EQL: ORE operator class absent (creation requires superuser) — 20 ORE-backed domains disabled and will raise on use; use the _ord_ope (ordering) and _eq (equality) domains — and text_match for text pattern match — instead';\nEND;\n$do$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_match_functions.sql\n--! @brief Functions for eql_v3.query_text_match.\n\n--! @brief Index extractor for eql_v3.query_text_match.\n--! @param a eql_v3.query_text_match\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a eql_v3.query_text_match)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a public.eql_v3_text_match\n--! @param b eql_v3.query_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_match, b eql_v3.query_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_match.\n--! @param a eql_v3.query_text_match\n--! @param b public.eql_v3_text_match\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a eql_v3.query_text_match, b public.eql_v3_text_match)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_functions.sql\n--! @brief Functions for public.eql_v3_text.\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text, selector text)\nRETURNS public.eql_v3_text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_text, selector integer)\nRETURNS public.eql_v3_text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text right operand of the blocked operator\n--! @return public.eql_v3_text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_text)\nRETURNS public.eql_v3_text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_text, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_text, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_text, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_text, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_text, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_text, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_text, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_text, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_text, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_text, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text, b public.eql_v3_text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_text left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_text, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_text.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_text and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_text'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_text_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_ord_ope)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_text_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a public.eql_v3_text_ord_ope\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ope, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ope.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord_ope, b public.eql_v3_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_operators.sql\n--! @brief Operators for eql_v3.query_text_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_eq_functions.sql\n--! @brief Functions for eql_v3.query_text_eq.\n\n--! @brief Index extractor for eql_v3.query_text_eq.\n--! @param a eql_v3.query_text_eq\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_eq)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b eql_v3.query_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_eq, b eql_v3.query_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a eql_v3.query_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a public.eql_v3_text_eq\n--! @param b eql_v3.query_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_eq, b eql_v3.query_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_eq.\n--! @param a eql_v3.query_text_eq\n--! @param b public.eql_v3_text_eq\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_eq, b public.eql_v3_text_eq)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_match_operators.sql\n--! @brief Operators for public.eql_v3_text_match.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = public.eql_v3_text_match\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_match, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_match\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/json_entry_text_functions.sql\n--! @brief Functions for public.eql_v3_json_entry.\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_text_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_ord right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_text_ord)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_ord left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_text_ord, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_text_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_text_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_text_ord\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_text_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_ord_ope right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_text_ord_ope)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_ord_ope left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_text_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a public.eql_v3_json_entry\n--! @param b eql_v3.query_text_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b eql_v3.query_text_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for public.eql_v3_json_entry.\n--! @param a eql_v3.query_text_ord_ope\n--! @param b public.eql_v3_json_entry\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord_ope, b public.eql_v3_json_entry)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_json_entry, b eql_v3.query_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_search left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a eql_v3.query_text_search, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_json_entry, b eql_v3.query_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_search left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a eql_v3.query_text_search, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_json_entry, b eql_v3.query_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_search left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a eql_v3.query_text_search, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_json_entry, b eql_v3.query_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_search left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a eql_v3.query_text_search, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_json_entry, b eql_v3.query_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_search left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a eql_v3.query_text_search, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_json_entry left operand of the blocked operator\n--! @param b eql_v3.query_text_search right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_json_entry, b eql_v3.query_text_search)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_json_entry.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_json_entry and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a eql_v3.query_text_search left operand of the blocked operator\n--! @param b public.eql_v3_json_entry right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a eql_v3.query_text_search, b public.eql_v3_json_entry)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_json_entry'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_operators.sql\n--! @brief Operators for public.eql_v3_text_search.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = public.eql_v3_text_search\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_ore_functions.sql\n--! @brief Functions for eql_v3.query_text_search_ore.\n\n--! @brief Index extractor for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_search_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_text_search_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a eql_v3.query_text_search_ore)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a public.eql_v3_text_search_ore\n--! @param b eql_v3.query_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search_ore, b eql_v3.query_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search_ore.\n--! @param a eql_v3.query_text_search_ore\n--! @param b public.eql_v3_text_search_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a eql_v3.query_text_search_ore, b public.eql_v3_text_search_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_text_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_ord_ore)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_text_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a public.eql_v3_text_ord_ore\n--! @param b eql_v3.query_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_ord_ore, b eql_v3.query_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_ord_ore.\n--! @param a eql_v3.query_text_ord_ore\n--! @param b public.eql_v3_text_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_ord_ore, b public.eql_v3_text_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_ore_operators.sql\n--! @brief Operators for public.eql_v3_text_search_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_search_ore\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_functions.sql\n--! @brief Functions for eql_v3.query_text_search.\n\n--! @brief Index extractor for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @return eql_v3_internal.hmac_256\nCREATE FUNCTION eql_v3.eq_term(a eql_v3.query_text_search)\nRETURNS eql_v3_internal.hmac_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.hmac_256(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_text_search)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Index extractor for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @return eql_v3_internal.bloom_filter\nCREATE FUNCTION eql_v3.match_term(a eql_v3.query_text_search)\nRETURNS eql_v3_internal.bloom_filter\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.bloom_filter(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a public.eql_v3_text_search\n--! @param b eql_v3.query_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a public.eql_v3_text_search, b eql_v3.query_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_text_search.\n--! @param a eql_v3.query_text_search\n--! @param b public.eql_v3_text_search\n--! @return boolean\nCREATE FUNCTION eql_v3.matches(a eql_v3.query_text_search, b public.eql_v3_text_search)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_eq_operators.sql\n--! @brief Operators for public.eql_v3_text_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = public.eql_v3_text_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_ord_ore.\n\n--! @brief State function for min on public.eql_v3_text_ord_ore.\n--! @param state public.eql_v3_text_ord_ore\n--! @param value public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_ord_ore, value public.eql_v3_text_ord_ore)\nRETURNS public.eql_v3_text_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_ord_ore.\n--! @param input public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_ord_ore.\n--! @param state public.eql_v3_text_ord_ore\n--! @param value public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_ord_ore, value public.eql_v3_text_ord_ore)\nRETURNS public.eql_v3_text_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_ord_ore.\n--! @param input public.eql_v3_text_ord_ore\n--! @return public.eql_v3_text_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_ord.\n\n--! @brief State function for min on public.eql_v3_text_ord.\n--! @param state public.eql_v3_text_ord\n--! @param value public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_ord, value public.eql_v3_text_ord)\nRETURNS public.eql_v3_text_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_ord.\n--! @param input public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_ord.\n--! @param state public.eql_v3_text_ord\n--! @param value public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_ord, value public.eql_v3_text_ord)\nRETURNS public.eql_v3_text_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_ord.\n--! @param input public.eql_v3_text_ord\n--! @return public.eql_v3_text_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_text_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ope_operators.sql\n--! @brief Operators for public.eql_v3_text_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = public.eql_v3_text_ord_ope\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text_ord_ope, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text_ord_ope\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_ord_ope.\n\n--! @brief State function for min on public.eql_v3_text_ord_ope.\n--! @param state public.eql_v3_text_ord_ope\n--! @param value public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_ord_ope, value public.eql_v3_text_ord_ope)\nRETURNS public.eql_v3_text_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_ord_ope.\n--! @param input public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_ord_ope.\n--! @param state public.eql_v3_text_ord_ope\n--! @param value public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_ord_ope, value public.eql_v3_text_ord_ope)\nRETURNS public.eql_v3_text_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_ord_ope.\n--! @param input public.eql_v3_text_ord_ope\n--! @return public.eql_v3_text_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_match_operators.sql\n--! @brief Operators for eql_v3.query_text_match.\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_match, RIGHTARG = eql_v3.query_text_match,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = eql_v3.query_text_match, RIGHTARG = public.eql_v3_text_match,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_operators.sql\n--! @brief Operators for public.eql_v3_text.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_text, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_text, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text, RIGHTARG = public.eql_v3_text\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_text, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_text\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_search.\n\n--! @brief State function for min on public.eql_v3_text_search.\n--! @param state public.eql_v3_text_search\n--! @param value public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_search, value public.eql_v3_text_search)\nRETURNS public.eql_v3_text_search\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_search.\n--! @param input public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_search) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_search,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_search.\n--! @param state public.eql_v3_text_search\n--! @param value public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_search, value public.eql_v3_text_search)\nRETURNS public.eql_v3_text_search\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_search.\n--! @param input public.eql_v3_text_search\n--! @return public.eql_v3_text_search\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_search) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_search,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/text_search_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_text_search_ore.\n\n--! @brief State function for min on public.eql_v3_text_search_ore.\n--! @param state public.eql_v3_text_search_ore\n--! @param value public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_text_search_ore, value public.eql_v3_text_search_ore)\nRETURNS public.eql_v3_text_search_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_text_search_ore.\n--! @param input public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_text_search_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_text_search_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_text_search_ore.\n--! @param state public.eql_v3_text_search_ore\n--! @param value public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_text_search_ore, value public.eql_v3_text_search_ore)\nRETURNS public.eql_v3_text_search_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_text_search_ore.\n--! @param input public.eql_v3_text_search_ore\n--! @return public.eql_v3_text_search_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_text_search_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_text_search_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_operators.sql\n--! @brief Operators for eql_v3.query_text_search.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search, RIGHTARG = eql_v3.query_text_search,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_text_search,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_eq_operators.sql\n--! @brief Operators for eql_v3.query_text_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = eql_v3.query_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_eq, RIGHTARG = eql_v3.query_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_eq, RIGHTARG = public.eql_v3_text_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/json_entry_text_operators.sql\n--! @brief Operators for public.eql_v3_json_entry.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord_ope\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord_ope\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord_ope, RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_search\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_search\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_search\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_search\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_search\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_text_search\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = eql_v3.query_text_search, RIGHTARG = public.eql_v3_json_entry\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_text_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_ord_ore, RIGHTARG = eql_v3.query_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_ord_ore, RIGHTARG = public.eql_v3_text_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/text/query_text_search_ore_operators.sql\n--! @brief Operators for eql_v3.query_text_search_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = public.eql_v3_text_search_ore, RIGHTARG = eql_v3.query_text_search_ore,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3.matches,\n LEFTARG = eql_v3.query_text_search_ore, RIGHTARG = public.eql_v3_text_search_ore,\n RESTRICT = contsel, JOIN = contjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_functions.sql\n--! @brief Functions for public.eql_v3_timestamp.\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.eq(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.neq(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lt(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.lte(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gt(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.gte(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contains(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.contained_by(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return public.eql_v3_timestamp never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp, selector text)\nRETURNS public.eql_v3_timestamp IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return public.eql_v3_timestamp never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a public.eql_v3_timestamp, selector integer)\nRETURNS public.eql_v3_timestamp IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp right operand of the blocked operator\n--! @return public.eql_v3_timestamp never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->\"(a jsonb, selector public.eql_v3_timestamp)\nRETURNS public.eql_v3_timestamp IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param selector text right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp, selector text)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param selector integer right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a public.eql_v3_timestamp, selector integer)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param selector public.eql_v3_timestamp right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"->>\"(a jsonb, selector public.eql_v3_timestamp)\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?\"(a public.eql_v3_timestamp, b text)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?|\"(a public.eql_v3_timestamp, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"?&\"(a public.eql_v3_timestamp, b text[])\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@?\"(a public.eql_v3_timestamp, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp, b jsonb)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a jsonb, b public.eql_v3_timestamp)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonpath right operand of the blocked operator\n--! @return boolean never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"@@\"(a public.eql_v3_timestamp, b jsonpath)\nRETURNS boolean IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>\"(a public.eql_v3_timestamp, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return text never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#>>\"(a public.eql_v3_timestamp, b text[])\nRETURNS text IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b text right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp, b text)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b integer right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp, b integer)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"-\"(a public.eql_v3_timestamp, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b text[] right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"#-\"(a public.eql_v3_timestamp, b text[])\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp, b public.eql_v3_timestamp)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a public.eql_v3_timestamp left operand of the blocked operator\n--! @param b jsonb right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a public.eql_v3_timestamp, b jsonb)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n\n--! @brief Unsupported operator blocker for public.eql_v3_timestamp.\n--!\n--! Intercepts an operator that is not supported on public.eql_v3_timestamp and always raises;\n--! it never returns a value. The declared signature exists only so the operator\n--! resolves to this blocker instead of a base-type fallback.\n--!\n--! @param a jsonb left operand of the blocked operator\n--! @param b public.eql_v3_timestamp right operand of the blocked operator\n--! @return jsonb never returned — the function always raises \"operator not supported\"\nCREATE FUNCTION eql_v3_internal.\"||\"(a jsonb, b public.eql_v3_timestamp)\nRETURNS jsonb IMMUTABLE PARALLEL SAFE\nAS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'public.eql_v3_timestamp'; END; $$\nLANGUAGE plpgsql;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_aggregates.sql\n--! @brief Aggregates for public.eql_v3_timestamp_ord.\n\n--! @brief State function for min on public.eql_v3_timestamp_ord.\n--! @param state public.eql_v3_timestamp_ord\n--! @param value public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_timestamp_ord, value public.eql_v3_timestamp_ord)\nRETURNS public.eql_v3_timestamp_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_timestamp_ord.\n--! @param input public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE AGGREGATE eql_v3.min(public.eql_v3_timestamp_ord) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_timestamp_ord,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_timestamp_ord.\n--! @param state public.eql_v3_timestamp_ord\n--! @param value public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_timestamp_ord, value public.eql_v3_timestamp_ord)\nRETURNS public.eql_v3_timestamp_ord\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_timestamp_ord.\n--! @param input public.eql_v3_timestamp_ord\n--! @return public.eql_v3_timestamp_ord\nCREATE AGGREGATE eql_v3.max(public.eql_v3_timestamp_ord) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_timestamp_ord,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ore_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_ord_ore.\n\n--! @brief Index extractor for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @return eql_v3_internal.ore_block_256\nCREATE FUNCTION eql_v3.ord_term_ore(a eql_v3.query_timestamp_ord_ore)\nRETURNS eql_v3_internal.ore_block_256\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ore_block_256(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) = eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <> eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) < eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) <= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) > eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a public.eql_v3_timestamp_ord_ore\n--! @param b eql_v3.query_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ore, b eql_v3.query_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ore.\n--! @param a eql_v3.query_timestamp_ord_ore\n--! @param b public.eql_v3_timestamp_ord_ore\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_timestamp_ord_ore, b public.eql_v3_timestamp_ord_ore)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term_ore(a) >= eql_v3.ord_term_ore(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/json_entry_timestamp_operators.sql\n--! @brief Operators for public.eql_v3_json_entry.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord_ope\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord_ope\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord_ope\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord_ope\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord_ope\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_json_entry, RIGHTARG = eql_v3.query_timestamp_ord_ope\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_json_entry\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_eq_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = eql_v3.query_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = eql_v3.query_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_eq_operators.sql\n--! @brief Operators for public.eql_v3_timestamp_eq.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = public.eql_v3_timestamp_eq\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp_eq, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp_eq\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ope_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_ord_ope.\n\n--! @brief Index extractor for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_timestamp_ord_ope)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a public.eql_v3_timestamp_ord_ope\n--! @param b eql_v3.query_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord_ope, b eql_v3.query_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord_ope.\n--! @param a eql_v3.query_timestamp_ord_ope\n--! @param b public.eql_v3_timestamp_ord_ope\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_timestamp_ord_ope, b public.eql_v3_timestamp_ord_ope)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ope_aggregates.sql\n--! @brief Aggregates for public.eql_v3_timestamp_ord_ope.\n\n--! @brief State function for min on public.eql_v3_timestamp_ord_ope.\n--! @param state public.eql_v3_timestamp_ord_ope\n--! @param value public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_timestamp_ord_ope, value public.eql_v3_timestamp_ord_ope)\nRETURNS public.eql_v3_timestamp_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_timestamp_ord_ope.\n--! @param input public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE AGGREGATE eql_v3.min(public.eql_v3_timestamp_ord_ope) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_timestamp_ord_ope,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_timestamp_ord_ope.\n--! @param state public.eql_v3_timestamp_ord_ope\n--! @param value public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_timestamp_ord_ope, value public.eql_v3_timestamp_ord_ope)\nRETURNS public.eql_v3_timestamp_ord_ope\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_timestamp_ord_ope.\n--! @param input public.eql_v3_timestamp_ord_ope\n--! @return public.eql_v3_timestamp_ord_ope\nCREATE AGGREGATE eql_v3.max(public.eql_v3_timestamp_ord_ope) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_timestamp_ord_ope,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_functions.sql\n--! @brief Functions for eql_v3.query_timestamp_ord.\n\n--! @brief Index extractor for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @return eql_v3_internal.ope_cllw\nCREATE FUNCTION eql_v3.ord_term(a eql_v3.query_timestamp_ord)\nRETURNS eql_v3_internal.ope_cllw\nLANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3_internal.ope_cllw(a::jsonb) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.eq(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.neq(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lt(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.lte(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gt(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a public.eql_v3_timestamp_ord\n--! @param b eql_v3.query_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_timestamp_ord, b eql_v3.query_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n\n--! @brief Operator wrapper for eql_v3.query_timestamp_ord.\n--! @param a eql_v3.query_timestamp_ord\n--! @param b public.eql_v3_timestamp_ord\n--! @return boolean\nCREATE FUNCTION eql_v3.gte(a eql_v3.query_timestamp_ord, b public.eql_v3_timestamp_ord)\nRETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$;\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ore_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_ord_ore.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ore, RIGHTARG = eql_v3.query_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_timestamp_ord_ore, RIGHTARG = public.eql_v3_timestamp_ord_ore,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_ord_ore_aggregates.sql\n--! @brief Aggregates for public.eql_v3_timestamp_ord_ore.\n\n--! @brief State function for min on public.eql_v3_timestamp_ord_ore.\n--! @param state public.eql_v3_timestamp_ord_ore\n--! @param value public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.min_sfunc(state public.eql_v3_timestamp_ord_ore, value public.eql_v3_timestamp_ord_ore)\nRETURNS public.eql_v3_timestamp_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value < state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate for public.eql_v3_timestamp_ord_ore.\n--! @param input public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE AGGREGATE eql_v3.min(public.eql_v3_timestamp_ord_ore) (\n sfunc = eql_v3_internal.min_sfunc,\n stype = public.eql_v3_timestamp_ord_ore,\n combinefunc = eql_v3_internal.min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_timestamp_ord_ore.\n--! @param state public.eql_v3_timestamp_ord_ore\n--! @param value public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE FUNCTION eql_v3_internal.max_sfunc(state public.eql_v3_timestamp_ord_ore, value public.eql_v3_timestamp_ord_ore)\nRETURNS public.eql_v3_timestamp_ord_ore\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n IF value > state THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate for public.eql_v3_timestamp_ord_ore.\n--! @param input public.eql_v3_timestamp_ord_ore\n--! @return public.eql_v3_timestamp_ord_ore\nCREATE AGGREGATE eql_v3.max(public.eql_v3_timestamp_ord_ore) (\n sfunc = eql_v3_internal.max_sfunc,\n stype = public.eql_v3_timestamp_ord_ore,\n combinefunc = eql_v3_internal.max_sfunc,\n parallel = safe\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/timestamp_operators.sql\n--! @brief Operators for public.eql_v3_timestamp.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.eq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.neq,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.lt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.lte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.gt,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.gte,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.contains,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.contained_by,\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = integer\n);\n\nCREATE OPERATOR -> (\n FUNCTION = eql_v3_internal.\"->\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = integer\n);\n\nCREATE OPERATOR ->> (\n FUNCTION = eql_v3_internal.\"->>\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.\"?\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.\"?|\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.\"?&\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.\"@?\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.\"@@\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonpath\n);\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.\"#>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.\"#>>\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = integer\n);\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.\"-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.\"#-\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = text[]\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = public.eql_v3_timestamp\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = public.eql_v3_timestamp, RIGHTARG = jsonb\n);\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.\"||\",\n LEFTARG = jsonb, RIGHTARG = public.eql_v3_timestamp\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_ord.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord, RIGHTARG = eql_v3.query_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_timestamp_ord, RIGHTARG = public.eql_v3_timestamp_ord,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n-- AUTOMATICALLY GENERATED FILE.\n\n--! @file encrypted_domain/timestamp/query_timestamp_ord_ope_operators.sql\n--! @brief Operators for eql_v3.query_timestamp_ord_ope.\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_timestamp_ord_ope, RIGHTARG = eql_v3.query_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = eql_v3.query_timestamp_ord_ope, RIGHTARG = public.eql_v3_timestamp_ord_ope,\n COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel\n);\n\n--! @file v3/json/aggregates.sql\n--! @brief min / max aggregates over public.eql_v3_json_entry.\n--!\n--! SteVec document entries extracted at a selector (`doc -> 'sel'`) order by\n--! their CLLW OPE (`op`) term, so the extremum is picked by comparing\n--! `eql_v3.ord_term(entry)` rather than the scalar Block-ORE `ord_term` the\n--! generated scalar ord aggregates use. The ope_cllw bytea domain orders under\n--! native byte comparison, so `<` / `>` on the extracted terms needs no custom\n--! comparator. Same STRICT + PARALLEL SAFE shape as the generated scalar\n--! `min`/`max` so partial/parallel aggregation is available on large GROUP BY\n--! workloads.\n--!\n--! Per the encrypted-domain footgun rules the state functions are\n--! `LANGUAGE plpgsql` with the pinned `search_path` — a `LANGUAGE sql` body would\n--! be inlinable and the planner could elide it.\n--!\n--! @note **Only `op`-carrying entries are orderable.** `eql_v3.ord_term(entry)`\n--! returns NULL when an entry has no `op` (CLLW OPE) term — the same entries a\n--! `eql_v3.ord_term` btree NULL-filters from range scans. The state functions\n--! therefore IGNORE `op`-less entries (they never become or survive as the\n--! extremum), so `min`/`max` is well-defined over a mix of `op`-carrying and\n--! `op`-less entries and is not corrupted by an `op`-less seed. A naive\n--! `ord_term(value) < ord_term(state)` would be NULL whenever either side\n--! lacks `op`, pinning a wrong (`op`-less) extremum when the first aggregated\n--! row is `op`-less. An all-`op`-less input has no orderable extremum and\n--! returns the (arbitrary) STRICT seed.\n\n--! @brief State function for min on public.eql_v3_json_entry.\n--!\n--! Keeps whichever orderable entry has the lesser CLLW OPE term. STRICT, so SQL\n--! NULL entries are skipped by the aggregate machinery; `op`-less (non-orderable)\n--! entries are skipped explicitly (see the @note on this file).\n--!\n--! @param state public.eql_v3_json_entry Running extremum.\n--! @param value public.eql_v3_json_entry Candidate entry.\n--! @return public.eql_v3_json_entry The lesser orderable entry by `ord_term`.\nCREATE FUNCTION eql_v3_internal.jsonb_entry_min_sfunc(\n state public.eql_v3_json_entry,\n value public.eql_v3_json_entry\n)\nRETURNS public.eql_v3_json_entry\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nDECLARE\n value_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(value);\n state_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(state);\nBEGIN\n -- A non-orderable (op-less) candidate never replaces the running extremum.\n IF value_ope IS NULL THEN\n RETURN state;\n END IF;\n -- Adopt the candidate when the running extremum is itself non-orderable\n -- (e.g. an op-less STRICT seed) or strictly greater.\n IF state_ope IS NULL OR value_ope < state_ope THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief min aggregate over public.eql_v3_json_entry.\n--! @param input public.eql_v3_json_entry\n--! @return public.eql_v3_json_entry The entry with the smallest CLLW OPE term.\nCREATE AGGREGATE eql_v3.min(public.eql_v3_json_entry) (\n sfunc = eql_v3_internal.jsonb_entry_min_sfunc,\n stype = public.eql_v3_json_entry,\n combinefunc = eql_v3_internal.jsonb_entry_min_sfunc,\n parallel = safe\n);\n\n--! @brief State function for max on public.eql_v3_json_entry.\n--!\n--! Keeps whichever orderable entry has the greater CLLW OPE term. `op`-less\n--! entries are skipped, mirroring `jsonb_entry_min_sfunc` (see the file @note).\n--!\n--! @param state public.eql_v3_json_entry Running extremum.\n--! @param value public.eql_v3_json_entry Candidate entry.\n--! @return public.eql_v3_json_entry The greater orderable entry by `ord_term`.\nCREATE FUNCTION eql_v3_internal.jsonb_entry_max_sfunc(\n state public.eql_v3_json_entry,\n value public.eql_v3_json_entry\n)\nRETURNS public.eql_v3_json_entry\nLANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nDECLARE\n value_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(value);\n state_ope eql_v3_internal.ope_cllw := eql_v3.ord_term(state);\nBEGIN\n -- A non-orderable (op-less) candidate never replaces the running extremum.\n IF value_ope IS NULL THEN\n RETURN state;\n END IF;\n -- Adopt the candidate when the running extremum is itself non-orderable\n -- (e.g. an op-less STRICT seed) or strictly lesser.\n IF state_ope IS NULL OR value_ope > state_ope THEN\n RETURN value;\n END IF;\n RETURN state;\nEND;\n$$;\n\n--! @brief max aggregate over public.eql_v3_json_entry.\n--! @param input public.eql_v3_json_entry\n--! @return public.eql_v3_json_entry The entry with the largest CLLW OPE term.\nCREATE AGGREGATE eql_v3.max(public.eql_v3_json_entry) (\n sfunc = eql_v3_internal.jsonb_entry_max_sfunc,\n stype = public.eql_v3_json_entry,\n combinefunc = eql_v3_internal.jsonb_entry_max_sfunc,\n parallel = safe\n);\n\n--! @file v3/json/operators.sql\n--! @brief Operators on public.eql_v3_json_search and public.eql_v3_json_entry.\n\n------------------------------------------------------------------------------\n-- -> field accessor (returns jsonb_entry)\n------------------------------------------------------------------------------\n\n--! @brief -> operator with text selector.\n--!\n--! Returns the sv entry whose `s` equals @p selector, with root `i`/`v` merged\n--! in. Inlinable: range predicates reduce structurally through\n--! `eql_v3.ord_term(col -> 'sel')` and match a functional btree index on that\n--! expression. Exact equality is document containment on a value selector.\n--!\n--! @warning The selector operand MUST carry a known type — a text-typed\n--! parameter (`$1`, the Proxy interface) or an explicit cast (`col -> 'sel'::%text`).\n--! A bare untyped literal (`col -> 'sel'`) resolves to the NATIVE `jsonb -> %text`\n--! operator and silently returns native jsonb semantics (a root-key lookup,\n--! typically NULL), NOT this operator: PostgreSQL reduces the `public.eql_v3_json_search`\n--! domain to its base type `jsonb` when resolving an unknown-typed RHS, and the\n--! native base-type operator wins the exact-match tiebreak. This is intrinsic to\n--! the domain type-kind and applies to the native-jsonb blockers too. See\n--! the \"Typed operands\" caveat in docs/reference/json-support.md.\n--!\n--! @param e public.eql_v3_json_search Root encrypted payload.\n--! @param selector text Selector hash.\n--! @return public.eql_v3_json_entry Matching entry merged with root meta, or NULL.\nCREATE FUNCTION eql_v3.\"->\"(e public.eql_v3_json_search, selector text)\n RETURNS public.eql_v3_json_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT (\n eql_v3.meta_data(e) ||\n jsonb_path_query_first(\n e,\n '$.sv[*] ? (@.s == $sel)'::jsonpath,\n jsonb_build_object('sel', selector)\n )\n )::public.eql_v3_json_entry\n$$;\n\nCREATE OPERATOR ->(\n FUNCTION=eql_v3.\"->\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=text\n);\n\n--! @brief -> operator with integer array index (0-based, JSONB convention).\n--! @param e public.eql_v3_json_search Encrypted sv-array payload.\n--! @param selector integer Array index.\n--! @return public.eql_v3_json_entry Matching entry merged with root meta, or NULL.\nCREATE FUNCTION eql_v3.\"->\"(e public.eql_v3_json_search, selector integer)\n RETURNS public.eql_v3_json_entry\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT CASE\n WHEN eql_v3_internal.is_ste_vec_array(e) THEN\n -- NOTE: `e::jsonb` makes the native-jsonb traversal explicit. `'sv'` is an\n -- unknown-typed literal, so `e -> 'sv'` already flattens `public.eql_v3_json_search` to\n -- its base type and binds native `jsonb -> text` (see the @warning above) —\n -- the custom `->(public.eql_v3_json_search, text)` operator does NOT capture a bare\n -- untyped literal. The cast documents that intent and guards the `-> selector`\n -- (integer) hop from ever resolving to the v3 `->(public.eql_v3_json_search, integer)`\n -- operator instead of native array access.\n (eql_v3.meta_data(e) || (e::jsonb -> 'sv' -> selector))::public.eql_v3_json_entry\n ELSE NULL\n END\n$$;\n\nCREATE OPERATOR ->(\n FUNCTION=eql_v3.\"->\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=integer\n);\n\n------------------------------------------------------------------------------\n-- ->> field accessor (alias of -> coerced to text)\n------------------------------------------------------------------------------\n\n--! @brief ->> operator with text selector. Inlinable alias of -> coerced to\n--! text.\n--!\n--! Intentional v2 parity: this serializes the entire matched jsonb_entry\n--! object as JSON text. It does not decrypt or return scalar plaintext like\n--! native `jsonb ->>`.\n--! @param e public.eql_v3_json_search Encrypted payload.\n--! @param selector text Field selector hash.\n--! @return text The matching entry as text.\nCREATE FUNCTION eql_v3.\"->>\"(e public.eql_v3_json_search, selector text)\n RETURNS text\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"->\"(e, selector)::jsonb::text\n$$;\n\nCREATE OPERATOR ->> (\n FUNCTION=eql_v3.\"->>\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=text\n);\n\n--! @brief ->> operator with integer array index. Inlinable alias of\n--! ->(json, integer) coerced to text.\n--! @param e public.eql_v3_json_search Encrypted sv-array payload.\n--! @param selector integer Array index.\n--! @return text The matching entry as text.\nCREATE FUNCTION eql_v3.\"->>\"(e public.eql_v3_json_search, selector integer)\n RETURNS text\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"->\"(e, selector)::jsonb::text\n$$;\n\nCREATE OPERATOR ->> (\n FUNCTION=eql_v3.\"->>\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=integer\n);\n\n------------------------------------------------------------------------------\n-- @> containment\n------------------------------------------------------------------------------\n\n--! @brief @> contains operator (document, document).\n--! @param a public.eql_v3_json_search Container.\n--! @param b public.eql_v3_json_search Contained value.\n--! @return boolean True if a contains b.\n--! @see eql_v3.ste_vec_contains\nCREATE FUNCTION eql_v3.\"@>\"(a public.eql_v3_json_search, b public.eql_v3_json_search)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ste_vec_contains(a, b)\n$$;\n\nCREATE OPERATOR @>(\n FUNCTION=eql_v3.\"@>\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=public.eql_v3_json_search\n);\n\n--! @brief @> contains operator with an query_json needle.\n--!\n--! Inlines to native `jsonb @>` over `eql_v3.to_ste_vec_query(a)::jsonb`, so a\n--! functional GIN index on the same expression engages.\n--!\n--! @param a public.eql_v3_json_search Container.\n--! @param b eql_v3.query_json Query payload.\n--! @return boolean True if a contains b.\nCREATE FUNCTION eql_v3.\"@>\"(a public.eql_v3_json_search, b eql_v3.query_json)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.to_ste_vec_query(a)::jsonb\n @> eql_v3.to_ste_vec_query(b)::jsonb\n$$;\n\nCREATE OPERATOR @>(\n FUNCTION=eql_v3.\"@>\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=eql_v3.query_json\n);\n\n-- NOTE: there is deliberately NO computable `@>`(json_search, json_entry)\n-- single-entry containment operator. `blockers.sql` claims the signature and\n-- raises rather than allowing native-jsonb fallback. An extracted `json_entry` is a PATH entry\n-- ({s,c,op?}) and carries no value selector, so it can only ever match\n-- structurally (\"the document has a node at this path\") — value-blind for\n-- bool/null/object/array and op-lossy for number/string. Exact field equality is\n-- document containment on the value selector: `col @> $1::eql_v3.query_json`,\n-- where a value-selector's presence in the stored document IS the exact match.\n-- Routing all value equality through that one exact mechanism is why the\n-- structural single-entry behavior (and its `<@` reverse) was blocked.\n\n------------------------------------------------------------------------------\n-- <@ contained-by (reverse of @>)\n------------------------------------------------------------------------------\n\n--! @brief <@ contained-by operator (document, document).\n--! @param a public.eql_v3_json_search Contained value.\n--! @param b public.eql_v3_json_search Container.\n--! @return boolean True if a is contained by b.\nCREATE FUNCTION eql_v3.\"<@\"(a public.eql_v3_json_search, b public.eql_v3_json_search)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.to_ste_vec_query(b)::jsonb\n @> eql_v3.to_ste_vec_query(a)::jsonb\n$$;\n\nCREATE OPERATOR <@(\n FUNCTION=eql_v3.\"<@\",\n LEFTARG=public.eql_v3_json_search,\n RIGHTARG=public.eql_v3_json_search\n);\n\n--! @brief <@ contained-by operator with an query_json LHS.\n--! @param a eql_v3.query_json Query payload.\n--! @param b public.eql_v3_json_search Container.\n--! @return boolean True if b contains a.\nCREATE FUNCTION eql_v3.\"<@\"(a eql_v3.query_json, b public.eql_v3_json_search)\nRETURNS boolean\nLANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.\"@>\"(b, a)\n$$;\n\nCREATE OPERATOR <@(\n FUNCTION=eql_v3.\"<@\",\n LEFTARG=eql_v3.query_json,\n RIGHTARG=public.eql_v3_json_search\n);\n\n-- NOTE: `<@`(json_entry, json_search) is likewise a fail-loud blocker — it is\n-- the reverse of the blocked single-entry `@>` behavior. See the note above.\n\n------------------------------------------------------------------------------\n-- jsonb_entry comparisons\n------------------------------------------------------------------------------\n\n--! @brief Block equality between two extracted jsonb entries.\n--! @note An extracted entry is a path entry and carries no value selector.\n--! Comparing its deterministic `op` bytes would be lossy for\n--! `bigint`/`numeric`/`text`; exact equality is document containment on a\n--! value-selector needle. This blocker is deliberately non-STRICT so a\n--! NULL operand cannot bypass the error.\n--! @param a public.eql_v3_json_entry Left operand\n--! @param b public.eql_v3_json_entry Right operand\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3.eq(a public.eql_v3_json_entry, b public.eql_v3_json_entry)\n RETURNS boolean\n IMMUTABLE PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_entry', '=');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3.eq,\n LEFTARG = public.eql_v3_json_entry,\n RIGHTARG = public.eql_v3_json_entry\n);\n\n--! @brief Block inequality between two extracted jsonb entries.\n--! @param a public.eql_v3_json_entry Left operand\n--! @param b public.eql_v3_json_entry Right operand\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3.neq(a public.eql_v3_json_entry, b public.eql_v3_json_entry)\n RETURNS boolean\n IMMUTABLE PARALLEL SAFE\n SET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_entry', '<>');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3.neq,\n LEFTARG = public.eql_v3_json_entry,\n RIGHTARG = public.eql_v3_json_entry\n);\n\n--! @brief Less-than on jsonb_entry via the CLLW OPE term (native bytea order).\n--! @param a public.eql_v3_json_entry Left operand\n--! @param b public.eql_v3_json_entry Right operand\n--! @return boolean True if a is less than b\nCREATE FUNCTION eql_v3.lt(a public.eql_v3_json_entry, b public.eql_v3_json_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3.lt,\n LEFTARG = public.eql_v3_json_entry,\n RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >,\n NEGATOR = >=,\n RESTRICT = scalarltsel,\n JOIN = scalarltjoinsel\n);\n\n--! @brief Less-than-or-equal on jsonb_entry via the CLLW OPE term.\n--! @param a public.eql_v3_json_entry Left operand\n--! @param b public.eql_v3_json_entry Right operand\n--! @return boolean True if a is less than or equal to b\nCREATE FUNCTION eql_v3.lte(a public.eql_v3_json_entry, b public.eql_v3_json_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3.lte,\n LEFTARG = public.eql_v3_json_entry,\n RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = >=,\n NEGATOR = >,\n RESTRICT = scalarlesel,\n JOIN = scalarlejoinsel\n);\n\n--! @brief Greater-than on jsonb_entry via the CLLW OPE term.\n--! @param a public.eql_v3_json_entry Left operand\n--! @param b public.eql_v3_json_entry Right operand\n--! @return boolean True if a is greater than b\nCREATE FUNCTION eql_v3.gt(a public.eql_v3_json_entry, b public.eql_v3_json_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3.gt,\n LEFTARG = public.eql_v3_json_entry,\n RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <,\n NEGATOR = <=,\n RESTRICT = scalargtsel,\n JOIN = scalargtjoinsel\n);\n\n--! @brief Greater-than-or-equal on jsonb_entry via the CLLW OPE term.\n--! @param a public.eql_v3_json_entry Left operand\n--! @param b public.eql_v3_json_entry Right operand\n--! @return boolean True if a is greater than or equal to b\nCREATE FUNCTION eql_v3.gte(a public.eql_v3_json_entry, b public.eql_v3_json_entry)\n RETURNS boolean\n LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE\nAS $$\n SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b)\n$$;\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3.gte,\n LEFTARG = public.eql_v3_json_entry,\n RIGHTARG = public.eql_v3_json_entry,\n COMMUTATOR = <=,\n NEGATOR = <,\n RESTRICT = scalargesel,\n JOIN = scalargejoinsel\n);\n\n--! @file v3/json/blockers.sql\n--! @brief Native-jsonb firewall for public.eql_v3_json_search.\n--!\n--! public.eql_v3_json_search SUPPORTS @> <@ -> ->> (see operators.sql). Comparisons\n--! Ordered comparisons < <= > >= are supported on public.eql_v3_json_entry;\n--! entry equality = <> is blocked because path entries carry no exact value\n--! selector. Root-document comparisons are also blocked.\n--! Every OTHER native jsonb operator reachable via domain fallback against the\n--! base type jsonb is BLOCKED here so an encrypted column can never silently\n--! route to plaintext-jsonb semantics. The blocked set is KNOWN_JSONB_OPERATORS\n--! minus the supported ops: ? ?| ?& @? @@ #> #>> - #- ||.\n--!\n--! Each blocker is LANGUAGE plpgsql (NEVER STRICT — a STRICT blocker would let\n--! PostgreSQL skip the body and return NULL on a NULL argument, bypassing the\n--! exception) and delegates to the shared eql_v3.encrypted_domain_unsupported_*\n--! helpers. Each blocker's RETURNS type matches the native operator it shadows\n--! (#> -> jsonb, #>> -> text, - / #- / || -> jsonb; the rest are boolean) so a\n--! composed expression resolves and the body raises 'operator not supported',\n--! rather than failing earlier with a misleading 'operator does not exist' on a\n--! boolean intermediate. The bound operator must resolve before native fallback,\n--! so the firewall fires.\n\n--! @brief Blocker: ? (key/element exists).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_exists(a public.eql_v3_json_search, b text)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '?');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR ? (\n FUNCTION = eql_v3_internal.jsonb_blocked_exists,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text\n);\n\n--! @brief Blocker: ?| (any key exists).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_exists_any(a public.eql_v3_json_search, b text[])\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '?|');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR ?| (\n FUNCTION = eql_v3_internal.jsonb_blocked_exists_any,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: ?& (all keys exist).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_exists_all(a public.eql_v3_json_search, b text[])\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '?&');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR ?& (\n FUNCTION = eql_v3_internal.jsonb_blocked_exists_all,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: @? (jsonpath exists).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonpath Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_jsonpath_exists(a public.eql_v3_json_search, b jsonpath)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '@?');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @? (\n FUNCTION = eql_v3_internal.jsonb_blocked_jsonpath_exists,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonpath\n);\n\n--! @brief Blocker: @@ (jsonpath predicate).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonpath Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_jsonpath_match(a public.eql_v3_json_search, b jsonpath)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '@@');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_jsonpath_match,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonpath\n);\n\n--! @brief Blocker: #> (path extract, native returns jsonb).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_path_extract(a public.eql_v3_json_search, b text[])\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '#>');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR #> (\n FUNCTION = eql_v3_internal.jsonb_blocked_path_extract,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: #>> (path extract as text).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return text Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_path_extract_text(a public.eql_v3_json_search, b text[])\nRETURNS text\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_text('public.eql_v3_json_search', '#>>');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR #>> (\n FUNCTION = eql_v3_internal.jsonb_blocked_path_extract_text,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: - (delete key, text RHS; native returns jsonb).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_text(a public.eql_v3_json_search, b text)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_text,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text\n);\n\n--! @brief Blocker: - (delete index, integer RHS).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b integer Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_int(a public.eql_v3_json_search, b integer)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_int,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = integer\n);\n\n--! @brief Blocker: - (delete keys, text[] RHS).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_array(a public.eql_v3_json_search, b text[])\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR - (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_array,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: #- (delete at path).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b text[] Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_delete_path(a public.eql_v3_json_search, b text[])\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '#-');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR #- (\n FUNCTION = eql_v3_internal.jsonb_blocked_delete_path,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = text[]\n);\n\n--! @brief Blocker: || (concatenate, encrypted on the left).\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_concat(a public.eql_v3_json_search, b jsonb)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '||');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.jsonb_blocked_concat,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\n--! @brief Blocker: || (concatenate, encrypted on the right).\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return jsonb Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_concat_rhs(a jsonb, b public.eql_v3_json_search)\nRETURNS jsonb\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_jsonb('public.eql_v3_json_search', '||');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR || (\n FUNCTION = eql_v3_internal.jsonb_blocked_concat_rhs,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\n------------------------------------------------------------------------------\n-- Root-document comparison blockers.\n------------------------------------------------------------------------------\n\n--! @brief Blocker: root public.eql_v3_json_search document comparisons.\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_compare_json_json(a public.eql_v3_json_search, b public.eql_v3_json_search)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', 'comparison');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: root public.eql_v3_json_search-to-jsonb comparisons.\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_compare_json_jsonb(a public.eql_v3_json_search, b jsonb)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', 'comparison');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: root jsonb-to-public.eql_v3_json_search comparisons.\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_compare_jsonb_json(a jsonb, b public.eql_v3_json_search)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', 'comparison');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR = (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <> (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR < (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR > (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_json,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR >= (\n FUNCTION = eql_v3_internal.jsonb_blocked_compare_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\n------------------------------------------------------------------------------\n-- Dropped single-entry containment blockers.\n------------------------------------------------------------------------------\n\n--! @brief Block document containment against an extracted path entry.\n--! @param a public.eql_v3_json_search Encrypted document.\n--! @param b public.eql_v3_json_entry Extracted path entry.\n--! @return boolean Never returns; always raises 'operator not supported'.\n--! @note An extracted path entry carries no value selector, so this signature\n--! cannot express exact equality. It is explicitly claimed to prevent\n--! PostgreSQL flattening both domains to native jsonb containment.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contains_entry(a public.eql_v3_json_search, b public.eql_v3_json_entry)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '@>');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.jsonb_blocked_contains_entry,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = public.eql_v3_json_entry\n);\n\n--! @brief Block reverse containment from an extracted path entry.\n--! @param a public.eql_v3_json_entry Extracted path entry.\n--! @param b public.eql_v3_json_search Encrypted document.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_entry_contained(a public.eql_v3_json_entry, b public.eql_v3_json_search)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_entry', '<@');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_entry_contained,\n LEFTARG = public.eql_v3_json_entry,\n RIGHTARG = public.eql_v3_json_search\n);\n\n------------------------------------------------------------------------------\n-- Mixed jsonb containment blockers.\n------------------------------------------------------------------------------\n\n--! @brief Blocker: @> with encrypted root document and native jsonb.\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contains_json_jsonb(a public.eql_v3_json_search, b jsonb)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '@>');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: @> with native jsonb and encrypted root document.\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contains_jsonb_json(a jsonb, b public.eql_v3_json_search)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '@>');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: <@ with encrypted root document and native jsonb.\n--! @param a public.eql_v3_json_search Left operand (encrypted payload).\n--! @param b jsonb Native RHS operand.\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contained_json_jsonb(a public.eql_v3_json_search, b jsonb)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '<@');\nEND;\n$$ LANGUAGE plpgsql;\n\n--! @brief Blocker: <@ with native jsonb and encrypted root document.\n--! @param a jsonb Native LHS operand.\n--! @param b public.eql_v3_json_search Right operand (encrypted payload).\n--! @return boolean Never returns; always raises 'operator not supported'.\nCREATE FUNCTION eql_v3_internal.jsonb_blocked_contained_jsonb_json(a jsonb, b public.eql_v3_json_search)\nRETURNS boolean\nIMMUTABLE PARALLEL SAFE\nSET search_path = pg_catalog, extensions, public\nAS $$\nBEGIN\n RETURN eql_v3_internal.encrypted_domain_unsupported_bool('public.eql_v3_json_search', '<@');\nEND;\n$$ LANGUAGE plpgsql;\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.jsonb_blocked_contains_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR @> (\n FUNCTION = eql_v3_internal.jsonb_blocked_contains_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_contained_json_jsonb,\n LEFTARG = public.eql_v3_json_search,\n RIGHTARG = jsonb\n);\n\nCREATE OPERATOR <@ (\n FUNCTION = eql_v3_internal.jsonb_blocked_contained_jsonb_json,\n LEFTARG = jsonb,\n RIGHTARG = public.eql_v3_json_search\n);\n--! @file pin_search_path_v3.sql\n--! @brief Post-install: pin search_path on every eql_v3.* function.\n--!\n--! Appended verbatim by `tasks/build.sh` to the end of the v3-only release\n--! artifact, AFTER all src/v3/**/*.sql files have been concatenated. It lives\n--! outside src/ so it stays out of the dependency graph.\n--!\n--! Iterates over functions in the `eql_v3` and `eql_v3_internal` schemas and\n--! applies a fixed `search_path` via `ALTER FUNCTION ... SET search_path = ...`,\n--! satisfying Supabase splinter's `function_search_path_mutable` lint.\n--!\n--! @note A SET clause disables SQL-function inlining. The inline-critical SEM\n--! helpers (ore_block_256_*, ope_cllw, hmac_256, bloom_filter over\n--! jsonb) and the encrypted-domain family (recognised structurally,\n--! including public user-column domains) are deliberately left\n--! unpinned.\n--! @see tasks/test/splinter.sh\n--! @see tasks/build.sh\n\nDO $$\nDECLARE\n fn_oid oid;\n inline_critical_oids oid[];\n jsonb_oid oid;\nBEGIN\n SELECT t.oid INTO jsonb_oid\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n WHERE n.nspname = 'pg_catalog' AND t.typname = 'jsonb';\n\n IF jsonb_oid IS NULL THEN\n RAISE EXCEPTION 'pin_search_path_v3: type pg_catalog.jsonb not found';\n END IF;\n\n -- eql_v3 SEM index-term functions that must stay inlinable for\n -- functional-index matching (no SET, IMMUTABLE). Mirrors the eql_v3 clause\n -- in the legacy combined pin_search_path.sql.\n SELECT pg_catalog.array_agg(p.oid) INTO inline_critical_oids\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n WHERE n.nspname = ANY(eql_v3_internal.owned_schemas())\n AND (\n (p.pronargs = 2\n AND p.proname IN ('ore_block_256_eq', 'ore_block_256_neq',\n 'ore_block_256_lt', 'ore_block_256_lte',\n 'ore_block_256_gt', 'ore_block_256_gte'))\n -- The CLLW-OPE surface is the extractor alone: eql_v3_internal.ope_cllw is a\n -- domain over bytea (native comparison operators and btree opclass),\n -- so there are no ope-specific comparison functions to keep inlinable.\n OR (p.pronargs = 1\n AND p.proname = 'ope_cllw'\n AND p.proargtypes[0] = jsonb_oid)\n OR (p.pronargs = 1\n AND p.proname = 'hmac_256'\n AND p.proargtypes[0] = jsonb_oid)\n OR (p.pronargs = 1\n AND p.proname = 'bloom_filter'\n AND p.proargtypes[0] = jsonb_oid)\n );\n\n FOR fn_oid IN\n SELECT p.oid\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n WHERE n.nspname = ANY(eql_v3_internal.owned_schemas())\n AND p.prokind IN ('f', 'w')\n AND NOT EXISTS (\n SELECT 1 FROM pg_catalog.unnest(coalesce(p.proconfig, '{}'::text[])) c\n WHERE c LIKE 'search_path=%'\n )\n AND NOT (p.oid = ANY (coalesce(inline_critical_oids, '{}'::oid[])))\n -- Encrypted-domain family — structural skip: LANGUAGE sql, IMMUTABLE,\n -- taking >=1 argument typed as a jsonb-backed DOMAIN. User-column\n -- domains live in public; implementation-only domains live in EQL-owned\n -- schemas.\n AND NOT (\n p.prolang = (SELECT l.oid FROM pg_catalog.pg_language l\n WHERE l.lanname = 'sql')\n AND p.provolatile = 'i'\n AND EXISTS (\n SELECT 1\n FROM pg_catalog.unnest(p.proargtypes::oid[]) AS arg(typ)\n JOIN pg_catalog.pg_type dt ON dt.oid = arg.typ\n JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace\n WHERE dt.typtype = 'd'\n AND dt.typbasetype = jsonb_oid\n AND (\n dn.nspname = 'public'\n OR dn.nspname = ANY(eql_v3_internal.owned_schemas())\n )\n )\n )\n -- Comment-marker fallback for hand-written inline-critical extension\n -- functions that take no domain argument.\n AND NOT EXISTS (\n SELECT 1 FROM pg_catalog.pg_description d\n WHERE d.objoid = p.oid\n AND d.classoid = 'pg_catalog.pg_proc'::regclass\n AND d.description LIKE 'eql-inline-critical%'\n )\n LOOP\n EXECUTE pg_catalog.format(\n 'ALTER FUNCTION %s SET search_path = pg_catalog, extensions, public',\n fn_oid::regprocedure\n );\n END LOOP;\nEND $$;\n" + } + ], + "postcheck": [ + { + "description": "verify eql_v3.version() reports 3.0.2", + "sql": "SELECT eql_v3.version() = '3.0.2'" + }, + { + "description": "verify the typed JSON query domain exists", + "sql": "SELECT to_regtype('eql_v3.query_json') IS NOT NULL" + }, + { + "description": "verify the typed text-match query domain exists", + "sql": "SELECT to_regtype('eql_v3.query_text_match') IS NOT NULL" + } + ] + } +] \ No newline at end of file diff --git a/examples/prisma/migrations/cipherstash/refs/head.json b/examples/prisma/migrations/cipherstash/refs/head.json index dbf0ad845..0e9a1538c 100644 --- a/examples/prisma/migrations/cipherstash/refs/head.json +++ b/examples/prisma/migrations/cipherstash/refs/head.json @@ -1 +1 @@ -{"hash":"sha256:1e86a0160ba305fa74516b6d9449218308b258a51a913c1fc907e629f44568a7","invariants":["cipherstash:install-eql-bundle-v1","cipherstash:install-eql-v3-bundle-v1"]} +{"hash":"sha256:1e86a0160ba305fa74516b6d9449218308b258a51a913c1fc907e629f44568a7","invariants":["cipherstash:install-eql-bundle-v1","cipherstash:install-eql-v3-bundle-v1","cipherstash:upgrade-eql-v3-bundle-3.0.2-v1"]} diff --git a/examples/prisma/src/index.ts b/examples/prisma/src/index.ts index e44be2f39..5725236b3 100644 --- a/examples/prisma/src/index.ts +++ b/examples/prisma/src/index.ts @@ -27,7 +27,7 @@ * 1. A Postgres database with the EQL v3 bundle installed. The * extension contributes its own contract space at * `migrations/cipherstash/` which installs the EQL bundles - * (v2 + v3 baselines) alongside the application schema — + * (v2/v3 baselines plus versioned EQL upgrades) alongside the application schema — * `pnpm migration:apply` runs it for you. * 2. A CipherStash workspace + ZeroKMS credentials. Run * `stash auth login` once, or populate `CS_WORKSPACE_CRN`, diff --git a/examples/prisma/test/e2e/README.md b/examples/prisma/test/e2e/README.md index ceb146ea8..ebb051cf4 100644 --- a/examples/prisma/test/e2e/README.md +++ b/examples/prisma/test/e2e/README.md @@ -21,7 +21,7 @@ The harness's Vitest global setup (`global-setup.ts`): 1. Verifies the container is up (`pg_isready`) — you own the container lifecycle. 2. Sets `DATABASE_URL` to the harness's local Postgres URL. -3. Runs `prisma-next migrate` against the example app (installs the cipherstash EQL v2 + v3 bundle baselines + the `users` table typed against `public.eql_v3_*` domains; v3 needs no per-column search configs). +3. Runs `prisma-next migrate` against the example app (installs the CipherStash EQL v2/v3 baselines, applies versioned EQL upgrades, and creates the `users` table typed against `public.eql_v3_*` domains; v3 needs no per-column search configs). 4. Requires CipherStash credentials: either `CS_*` variables in `.env` or a local profile from `stash auth login` (device-code flow). `vitest.config.ts` wires the global setup, scopes the run to `*.e2e.test.ts`, and pins `pool: 'threads'` + `maxWorkers: 1` + `isolate: false` + `fileParallelism: false` so every test file shares one Postgres connection and one CipherStash SDK encryption client (and the SDK isn't asked to run encrypts across files concurrently). Each test file truncates `users` in its `beforeAll` for clean-slate isolation. diff --git a/packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.json b/packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.json new file mode 100644 index 000000000..aefc250d1 --- /dev/null +++ b/packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.json @@ -0,0 +1,9 @@ +{ + "from": "sha256:efd408cf8924b4d1805bf5acced8898114aa03cd46b465720179c82a4431d51e", + "to": "sha256:efd408cf8924b4d1805bf5acced8898114aa03cd46b465720179c82a4431d51e", + "providedInvariants": [ + "cipherstash:upgrade-eql-v3-bundle-3.0.2-v1" + ], + "createdAt": "2026-07-20T11:40:17.876Z", + "migrationHash": "sha256:aacf44ab97bead9257d1a5eeb2e854a142a6dd312a0f0475b87df110c87155e0" +} diff --git a/packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.ts b/packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.ts new file mode 100644 index 000000000..d3639df4e --- /dev/null +++ b/packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.ts @@ -0,0 +1,62 @@ +#!/usr/bin/env -S node +/** + * Upgrade an existing EQL v3 installation to the pinned 3.0.2 bundle. + * + * This is a separate invariant-only edge from the original v3 baseline. A + * database that already recorded the baseline invariant must still traverse + * this edge, otherwise changing the runtime SQL behind that historical marker + * would leave the database on the older EQL surface. + */ +import { + Migration, + MigrationCLI, + rawSql, +} from '@prisma-next/target-postgres/migration' +import { CIPHERSTASH_V3_INVARIANTS } from '../../src/extension-metadata/constants-v3' +import { + RUNTIME_EQL_SQL_SENTINEL, + releaseManifest, +} from '../../src/migration/eql-bundle-v3' + +const UPGRADE_LABEL = `Upgrade EQL v3 bundle to eql-${releaseManifest.eqlVersion}` + +export default class M extends Migration { + override describe() { + return { + from: 'sha256:1e86a0160ba305fa74516b6d9449218308b258a51a913c1fc907e629f44568a7', + to: 'sha256:1e86a0160ba305fa74516b6d9449218308b258a51a913c1fc907e629f44568a7', + } + } + + override get operations() { + return [ + rawSql({ + id: 'cipherstash.upgrade-eql-v3-bundle-3.0.2', + label: UPGRADE_LABEL, + operationClass: 'data', + invariantId: CIPHERSTASH_V3_INVARIANTS.upgradeBundle302, + target: { id: 'postgres' }, + precheck: [], + execute: [ + { description: UPGRADE_LABEL, sql: RUNTIME_EQL_SQL_SENTINEL }, + ], + postcheck: [ + { + description: `verify eql_v3.version() reports ${releaseManifest.eqlVersion}`, + sql: `SELECT eql_v3.version() = '${releaseManifest.eqlVersion}'`, + }, + { + description: 'verify the typed JSON query domain exists', + sql: "SELECT to_regtype('eql_v3.query_json') IS NOT NULL", + }, + { + description: 'verify the typed text-match query domain exists', + sql: "SELECT to_regtype('eql_v3.query_text_match') IS NOT NULL", + }, + ], + }), + ] + } +} + +MigrationCLI.run(import.meta.url, M) diff --git a/packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/ops.json b/packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/ops.json new file mode 100644 index 000000000..4fd8cf5fb --- /dev/null +++ b/packages/prisma-next/migrations/20260720T0000_upgrade_eql_v3_3_0_2/ops.json @@ -0,0 +1,32 @@ +[ + { + "id": "cipherstash.upgrade-eql-v3-bundle-3.0.2", + "label": "Upgrade EQL v3 bundle to eql-3.0.2", + "operationClass": "data", + "invariantId": "cipherstash:upgrade-eql-v3-bundle-3.0.2-v1", + "target": { + "id": "postgres" + }, + "precheck": [], + "execute": [ + { + "description": "Upgrade EQL v3 bundle to eql-3.0.2", + "sql": "-- EQL v3 install SQL is injected at runtime from @cipherstash/eql — see packages/prisma-next/src/migration/eql-bundle-v3.ts" + } + ], + "postcheck": [ + { + "description": "verify eql_v3.version() reports 3.0.2", + "sql": "SELECT eql_v3.version() = '3.0.2'" + }, + { + "description": "verify the typed JSON query domain exists", + "sql": "SELECT to_regtype('eql_v3.query_json') IS NOT NULL" + }, + { + "description": "verify the typed text-match query domain exists", + "sql": "SELECT to_regtype('eql_v3.query_text_match') IS NOT NULL" + } + ] + } +] \ No newline at end of file diff --git a/packages/prisma-next/migrations/refs/head.json b/packages/prisma-next/migrations/refs/head.json index e3eaff20f..0d5019e1e 100644 --- a/packages/prisma-next/migrations/refs/head.json +++ b/packages/prisma-next/migrations/refs/head.json @@ -1,6 +1,7 @@ { "hash": "sha256:efd408cf8924b4d1805bf5acced8898114aa03cd46b465720179c82a4431d51e", "invariants": [ - "cipherstash:install-eql-v3-bundle-v1" + "cipherstash:install-eql-v3-bundle-v1", + "cipherstash:upgrade-eql-v3-bundle-3.0.2-v1" ] } diff --git a/packages/prisma-next/src/exports/control.ts b/packages/prisma-next/src/exports/control.ts index 7f8023c1b..88498abb1 100644 --- a/packages/prisma-next/src/exports/control.ts +++ b/packages/prisma-next/src/exports/control.ts @@ -39,9 +39,18 @@ import v3BaselineMetadata from '../../migrations/20260601T0100_install_eql_v3_bu import v3BaselineOps from '../../migrations/20260601T0100_install_eql_v3_bundle/ops.json' with { type: 'json', } +import v3Upgrade302Metadata from '../../migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.json' with { + type: 'json', +} +import v3Upgrade302Ops from '../../migrations/20260720T0000_upgrade_eql_v3_3_0_2/ops.json' with { + type: 'json', +} import headRef from '../../migrations/refs/head.json' with { type: 'json' } import contractJson from '../contract.json' with { type: 'json' } -import { CIPHERSTASH_V3_BASELINE_MIGRATION_NAME } from '../extension-metadata/constants-v3' +import { + CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME, + CIPHERSTASH_V3_BASELINE_MIGRATION_NAME, +} from '../extension-metadata/constants-v3' import { cipherstashPackMeta } from '../extension-metadata/descriptor-meta' import { cipherstashV3CodecControlHooks } from '../migration/cipherstash-codec-v3' import { withRuntimeEqlSqlPackage } from '../migration/eql-bundle-v3' @@ -50,12 +59,16 @@ const v3BaselineRuntimePackage = withRuntimeEqlSqlPackage( v3BaselineMetadata, v3BaselineOps, ) +const v3Upgrade302RuntimePackage = withRuntimeEqlSqlPackage( + v3Upgrade302Metadata, + v3Upgrade302Ops, +) const cipherstashContractSpace = contractSpaceFromJson>({ contractJson, migrations: [ - // The v3 bundle baseline is the SOLE migration — the package is EQL - // v3 only. It is an invariant-only genesis edge (`from: null` → the + // The v3 bundle baseline is the genesis migration — the package is EQL + // v3 only. It is an invariant-only edge (`from: null` → the // empty-storage hash; the bundle creates `public.eql_v3_*` domains + // `eql_v3.*` functions but no contract-space storage). The v3 codec // ids ARE registered in `controlPlaneHooks` below, but with the @@ -73,6 +86,13 @@ const cipherstashContractSpace = contractSpaceFromJson>({ // injected ops so the descriptor can be materialised and verified. ops: v3BaselineRuntimePackage.ops, }, + // A distinct invariant is required for upgrades: databases that already + // recorded the baseline marker must still install the pinned 3.0.2 SQL. + { + dirName: CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME, + metadata: v3Upgrade302RuntimePackage.metadata, + ops: v3Upgrade302RuntimePackage.ops, + }, ], headRef, }) diff --git a/packages/prisma-next/src/extension-metadata/constants-v3.ts b/packages/prisma-next/src/extension-metadata/constants-v3.ts index bc25ce101..0c6265590 100644 --- a/packages/prisma-next/src/extension-metadata/constants-v3.ts +++ b/packages/prisma-next/src/extension-metadata/constants-v3.ts @@ -139,8 +139,12 @@ export function v3TraitsForCapabilities( export const CIPHERSTASH_V3_BASELINE_MIGRATION_NAME = '20260601T0100_install_eql_v3_bundle' +export const CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME = + '20260720T0000_upgrade_eql_v3_3_0_2' + export const CIPHERSTASH_V3_INVARIANTS = { installBundle: 'cipherstash:install-eql-v3-bundle-v1', + upgradeBundle302: 'cipherstash:upgrade-eql-v3-bundle-3.0.2-v1', } as const // v3's OWN extension identity (decision 1b) — DISTINCT from the v2 diff --git a/packages/prisma-next/src/migration/eql-bundle-v3.ts b/packages/prisma-next/src/migration/eql-bundle-v3.ts index ae91f174e..4b7fca526 100644 --- a/packages/prisma-next/src/migration/eql-bundle-v3.ts +++ b/packages/prisma-next/src/migration/eql-bundle-v3.ts @@ -8,8 +8,8 @@ * * ## Runtime-sourced, NOT baked * - * The v3 baseline migration does **not** embed the ~1.7 MB install SQL in its - * `ops.json`. The committed op carries {@link RUNTIME_EQL_SQL_SENTINEL}, and + * The v3 migrations do **not** embed the ~1.7 MB install SQL in their + * `ops.json`. Each committed op carries {@link RUNTIME_EQL_SQL_SENTINEL}, and * `src/exports/control.ts` swaps in `readInstallSql()` from the installed * `@cipherstash/eql` when it builds the descriptor (see {@link withRuntimeEqlSql}). * `@cipherstash/eql` is therefore a runtime dependency, pinned to an exact @@ -21,15 +21,15 @@ * re-emitting the 1.7 MB `ops.json` (which coupled every EQL bump to a manual * re-emit loop) — it is a one-line version bump plus a rebuild. * - * Why this is sound: the v3 baseline is an INVARIANT-ONLY self-edge + * Why this is sound: the v3 bundle migrations are INVARIANT-ONLY self-edges * (`from === to`; the bundle declares no contract-space storage — unlike the v2 * bundle's `eql_v2_configuration`). The install SQL therefore never contributes * to the contract-space hash, and `contractSpaceFromJson` passes the ops through * with no integrity check on their contents (`verifyMigrationHash` runs only on * the disk read path for the user's own repo, never on the in-memory extension * descriptor). Swapping the SQL at descriptor-construction time is invisible to - * the planner, which routes purely on the `cipherstash:install-eql-v3-bundle-v1` - * invariant. + * the planner. A versioned upgrade invariant ensures databases that have + * already recorded the original baseline still traverse a new EQL release. */ import { readInstallSql, releaseManifest } from '@cipherstash/eql/sql' import type { @@ -44,7 +44,7 @@ import type { MigrationMetadata } from '@prisma-next/migration-tools/metadata' export { readInstallSql, releaseManifest } /** - * Placeholder the committed v3 baseline op carries in `execute[].sql` in place + * Placeholder each committed v3 bundle op carries in `execute[].sql` in place * of the baked install SQL. {@link withRuntimeEqlSql} swaps it for the real * bundle at descriptor-build time; if it ever reached a database directly it is * an inert SQL comment. It is ALSO the join key the injector matches on — the @@ -104,7 +104,7 @@ function isMigrationOperationClass( * non-lossy. Called by the descriptor in `control.ts` so the applied SQL always * matches the resolved `@cipherstash/eql` version, not a baked snapshot. * - * Throws if NO placeholder is present: the committed v3 baseline op MUST carry + * Throws if NO placeholder is present: every committed v3 bundle op MUST carry * the sentinel, so a missing match means the emit source and this injector have * diverged (e.g. real SQL was baked back in, or the sentinel string changed) — * fail loudly at descriptor build rather than silently apply the inert comment @@ -116,7 +116,7 @@ export function withRuntimeEqlSql(ops: readonly T[]): T[] { ) if (!hasPlaceholder) { throw new Error( - 'withRuntimeEqlSql: no op carried RUNTIME_EQL_SQL_SENTINEL — the v3 baseline ops.json must carry the placeholder for runtime EQL-SQL injection. The emit source and this injector have diverged.', + 'withRuntimeEqlSql: no op carried RUNTIME_EQL_SQL_SENTINEL — the v3 bundle ops.json must carry the placeholder for runtime EQL-SQL injection. The emit source and this injector have diverged.', ) } const sql = readV3InstallSql() diff --git a/packages/prisma-next/test/bundling-isolation.test.ts b/packages/prisma-next/test/bundling-isolation.test.ts index fc7e35110..713162185 100644 --- a/packages/prisma-next/test/bundling-isolation.test.ts +++ b/packages/prisma-next/test/bundling-isolation.test.ts @@ -95,6 +95,8 @@ const ALLOWED_SHARED_CHUNK_MARKER_SETS: ReadonlyArray = [ [ 'CIPHERSTASH_SPACE_ID', 'CIPHERSTASH_V3_CODEC_IDS', + 'CIPHERSTASH_V3_BASELINE_MIGRATION_NAME', + 'CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME', 'v3TraitsForCapabilities', ], // v3 catalog chunk (per-domain metadata + name/trait mappers) diff --git a/packages/prisma-next/test/descriptor.test.ts b/packages/prisma-next/test/descriptor.test.ts index 4e92d46cd..4409f3627 100644 --- a/packages/prisma-next/test/descriptor.test.ts +++ b/packages/prisma-next/test/descriptor.test.ts @@ -34,6 +34,7 @@ import { describe, expect, it } from 'vitest' import cipherstashExtensionDescriptor from '../src/exports/control' import { CIPHERSTASH_SPACE_ID } from '../src/extension-metadata/constants' import { + CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME, CIPHERSTASH_V3_BASELINE_MIGRATION_NAME, CIPHERSTASH_V3_INVARIANTS, } from '../src/extension-metadata/constants-v3' @@ -65,9 +66,9 @@ describe('cipherstash extension descriptor (contract-space package layout)', () expect(tables).toEqual([]) }) - it('publishes the v3 baseline migration as the sole invariant-only genesis edge', () => { + it('publishes the v3 baseline and versioned EQL upgrade edges', () => { const space = cipherstashExtensionDescriptor.contractSpace! - expect(space.migrations).toHaveLength(1) + expect(space.migrations).toHaveLength(2) const v3Baseline = space.migrations[0]! expect(v3Baseline.dirName).toBe(CIPHERSTASH_V3_BASELINE_MIGRATION_NAME) // Genesis edge (`from: null`): the bundle declares no contract-space @@ -75,6 +76,10 @@ describe('cipherstash extension descriptor (contract-space package layout)', () // which is exactly `contractJson.storage.storageHash` / the head ref. expect(v3Baseline.metadata.from).toBeNull() expect(v3Baseline.metadata.to).toBe(space.contractJson.storage.storageHash) + const v3Upgrade = space.migrations[1]! + expect(v3Upgrade.dirName).toBe(CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME) + expect(v3Upgrade.metadata.from).toBe(v3Baseline.metadata.to) + expect(v3Upgrade.metadata.to).toBe(v3Baseline.metadata.to) }) it('v3 baseline ops carry the installEqlV3Bundle op only', () => { @@ -84,6 +89,12 @@ describe('cipherstash extension descriptor (contract-space package layout)', () expect(opIds).toEqual([CIPHERSTASH_V3_INVARIANTS.installBundle]) }) + it('v3 3.0.2 upgrade ops carry a distinct versioned invariant', () => { + const upgrade = cipherstashExtensionDescriptor.contractSpace!.migrations[1]! + const opIds = upgrade.ops.map((op) => op.invariantId).filter(Boolean) + expect(opIds).toEqual([CIPHERSTASH_V3_INVARIANTS.upgradeBundle302]) + }) + it('namespaces every op invariantId in every migration under cipherstash:*', () => { for (const migration of cipherstashExtensionDescriptor.contractSpace! .migrations) { diff --git a/packages/prisma-next/test/v3/constants-v3.test.ts b/packages/prisma-next/test/v3/constants-v3.test.ts index fd64c0094..79d68d1a8 100644 --- a/packages/prisma-next/test/v3/constants-v3.test.ts +++ b/packages/prisma-next/test/v3/constants-v3.test.ts @@ -4,6 +4,7 @@ import { CIPHERSTASH_SPACE_ID, } from '../../src/extension-metadata/constants' import { + CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME, CIPHERSTASH_V3_BASELINE_MIGRATION_NAME, CIPHERSTASH_V3_CODEC_ID_SET, CIPHERSTASH_V3_CODEC_IDS, @@ -77,6 +78,12 @@ describe('constants-v3', () => { expect(CIPHERSTASH_V3_INVARIANTS.installBundle).toBe( 'cipherstash:install-eql-v3-bundle-v1', ) + expect(CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME).toBe( + '20260720T0000_upgrade_eql_v3_3_0_2', + ) + expect(CIPHERSTASH_V3_INVARIANTS.upgradeBundle302).toBe( + 'cipherstash:upgrade-eql-v3-bundle-3.0.2-v1', + ) }) it('v3 extension identity is distinct from v2 (decision 1b — separate entry points)', () => { diff --git a/packages/prisma-next/test/v3/migration-v3.test.ts b/packages/prisma-next/test/v3/migration-v3.test.ts index bf4a639b9..9c016a2eb 100644 --- a/packages/prisma-next/test/v3/migration-v3.test.ts +++ b/packages/prisma-next/test/v3/migration-v3.test.ts @@ -5,9 +5,8 @@ * The install SQL is NOT baked into `ops.json`: the committed op carries a * placeholder, and the descriptor (`control.ts`) injects `readInstallSql()` * from the installed `@cipherstash/eql` at build time. The package installs EQL - * v3 only, so this is the sole migration: an invariant-only genesis edge - * (`from: null`) — the v3 bundle creates `public.eql_v3_*` domains + `eql_v3.*` - * functions but no contract-space storage, so `to` is the empty-storage hash. + * v3 only: the baseline is an invariant-only genesis edge (`from: null`), and + * a second invariant-only edge upgrades already-baselined databases to 3.0.2. */ import { mkdtemp, rm } from 'node:fs/promises' import { tmpdir } from 'node:os' @@ -24,9 +23,16 @@ import v3Metadata from '../../migrations/20260601T0100_install_eql_v3_bundle/mig import v3Ops from '../../migrations/20260601T0100_install_eql_v3_bundle/ops.json' with { type: 'json', } +import v3UpgradeMetadata from '../../migrations/20260720T0000_upgrade_eql_v3_3_0_2/migration.json' with { + type: 'json', +} +import v3UpgradeOps from '../../migrations/20260720T0000_upgrade_eql_v3_3_0_2/ops.json' with { + type: 'json', +} import headRef from '../../migrations/refs/head.json' with { type: 'json' } import cipherstashDescriptor from '../../src/exports/control' import { + CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME, CIPHERSTASH_V3_BASELINE_MIGRATION_NAME, CIPHERSTASH_V3_INVARIANTS, } from '../../src/extension-metadata/constants-v3' @@ -152,10 +158,36 @@ describe('v3 baseline migration (20260601T0100_install_eql_v3_bundle)', () => { ]) }) - it('pins the head ref at the genesis hash with the v3 invariant only', () => { + it('adds a distinct 3.0.2 upgrade edge for already-baselined databases', () => { + expect(CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME).toBe( + '20260720T0000_upgrade_eql_v3_3_0_2', + ) + expect(v3UpgradeMetadata.from).toBe(v3Metadata.to) + expect(v3UpgradeMetadata.to).toBe(v3Metadata.to) + expect(v3UpgradeMetadata.providedInvariants).toEqual([ + CIPHERSTASH_V3_INVARIANTS.upgradeBundle302, + ]) + expect(v3UpgradeOps).toHaveLength(1) + expect(v3UpgradeOps[0]?.execute[0]?.sql).toBe(RUNTIME_EQL_SQL_SENTINEL) + + const runtimeUpgrade = cipherstashDescriptor.contractSpace?.migrations.find( + ({ dirName }) => dirName === CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME, + ) + expect(runtimeUpgrade).toBeDefined() + expect(runtimeUpgrade?.metadata.migrationHash).not.toBe( + v3UpgradeMetadata.migrationHash, + ) + const runtimeOp = runtimeUpgrade?.ops[0] as + | { readonly execute?: ReadonlyArray<{ readonly sql: string }> } + | undefined + expect(runtimeOp?.execute?.[0]?.sql).toBe(readInstallSql()) + }) + + it('pins the head ref at the unchanged hash with all invariants', () => { expect(headRef.hash).toBe(v3Metadata.to) expect(headRef.invariants).toEqual([ CIPHERSTASH_V3_INVARIANTS.installBundle, + CIPHERSTASH_V3_INVARIANTS.upgradeBundle302, ]) }) }) diff --git a/packages/stack-supabase/__tests__/supabase-v3-json.test.ts b/packages/stack-supabase/__tests__/supabase-v3-json.test.ts index 355f1c793..f829f0024 100644 --- a/packages/stack-supabase/__tests__/supabase-v3-json.test.ts +++ b/packages/stack-supabase/__tests__/supabase-v3-json.test.ts @@ -56,6 +56,30 @@ describe('EQL 3.0.2 PostgREST boundary', () => { /EQL 3\.0\.2\+/, ) }) + + it('rejects every inherited raw filter path before encryption', async () => { + const cases = [ + makeBuilder([], true) + .builder.select('id') + .filter('payload', 'cs', { role: 'admin' }), + makeBuilder([], true) + .builder.select('id') + .not('payload', 'contains', { role: 'admin' }), + makeBuilder([], true) + .builder.select('id') + .not('name', 'matches', 'alice'), + makeBuilder([], true) + .builder.select('id') + .or([{ column: 'payload', op: 'contains', value: { role: 'admin' } }]), + makeBuilder([], true).builder.select('id').or('name.cs.alice'), + ] + + for (const query of cases) { + const { error, status } = await query + expect(status).toBe(500) + expect(error?.message).toMatch(/EQL 3\.0\.2\+.*PostgREST/s) + } + }) }) /** The recorded wire call for a column's containment filter, parsed. */ diff --git a/packages/stack-supabase/integration/adapter.ts b/packages/stack-supabase/integration/adapter.ts index e8e1c68fc..d56416207 100644 --- a/packages/stack-supabase/integration/adapter.ts +++ b/packages/stack-supabase/integration/adapter.ts @@ -40,18 +40,17 @@ const SUPPORTED_OPS: ReadonlySet = new Set([ 'lte', 'between', 'notBetween', - 'matches', 'isNull', 'isNotNull', 'order', ]) /** - * Nothing is refused adapter-wide. ORE-backed columns cannot be ordered through - * PostgREST, but they are `deferred` in the catalog — they cannot hold data on - * managed Postgres at all — so no test reaches them here. + * EQL 3.0.2 requires a typed query-domain operand for encrypted free-text + * matching. PostgREST cannot express that cast, so matching is rejected on + * every encrypted column even when its domain carries the capability. */ -const ALWAYS_REJECTED: ReadonlySet = new Set() +const ALWAYS_REJECTED: ReadonlySet = new Set(['matches']) type Instance = Awaited> diff --git a/packages/stack-supabase/src/query-builder-v3.ts b/packages/stack-supabase/src/query-builder-v3.ts index 8ed602e8d..8df37536c 100644 --- a/packages/stack-supabase/src/query-builder-v3.ts +++ b/packages/stack-supabase/src/query-builder-v3.ts @@ -476,15 +476,6 @@ export class EncryptedQueryBuilderV3Impl< capabilities.searchableJson ) { queryType = 'searchableJson' - // THE single enforced operand boundary for encrypted-JSON containment. - // Terms reach this resolver from every spelling — contains(), raw - // .filter(col,'cs',…), not(col,'contains'|'matches',…), and .or() - // string/structured conditions — and only contains() has a method-level - // guard. Without this check a raw string (e.g. a free-text term ported - // from a text column, or an .or() condition value, which is always a - // string) would be storage-encrypted as a JSON SCALAR and silently match - // nothing; pre-#650 every such spelling failed loudly on capability. - assertJsonContainmentOperand(column.getName(), term.value) } if ( @@ -504,6 +495,27 @@ export class EncryptedQueryBuilderV3Impl< ) } + if (queryType === 'freeTextSearch' || queryType === 'searchableJson') { + // This is the common boundary for every spelling that collects an + // encrypted match/containment term: matches(), contains(), not(), raw + // filter(), and both forms of or(). Method-level checks provide earlier + // errors for the direct helpers, but cannot cover the inherited raw + // filter paths on their own. + this.assertPostgrestCanQueryEncryptedOperator('filter', column.getName()) + } + + if (queryType === 'searchableJson') { + // THE single enforced operand boundary for encrypted-JSON containment. + // Terms reach this resolver from every spelling — contains(), raw + // .filter(col,'cs',…), not(col,'contains'|'matches',…), and .or() + // string/structured conditions — and only contains() has a method-level + // guard. Without this check a raw string (e.g. a free-text term ported + // from a text column, or an .or() condition value, which is always a + // string) would be storage-encrypted as a JSON SCALAR and silently match + // nothing; pre-#650 every such spelling failed loudly on capability. + assertJsonContainmentOperand(column.getName(), term.value) + } + // Free-text (bloom) needle floor. A needle shorter than the tokenizer's // token_length produces NO tokens, so `bf @> '{}'` holds for every row and // the query would silently return (and the caller decrypt) the whole table diff --git a/packages/stack/__tests__/encrypt-query-searchable-json.test.ts b/packages/stack/__tests__/encrypt-query-searchable-json.test.ts index 41a7ae6ab..bc99fcb4f 100644 --- a/packages/stack/__tests__/encrypt-query-searchable-json.test.ts +++ b/packages/stack/__tests__/encrypt-query-searchable-json.test.ts @@ -117,16 +117,16 @@ describe('encryptQuery with searchableJson', () => { }, 30000) it('supports lock-context chaining for JSON query terms', async () => { - const result = await client - .encryptQuery( - { role: 'admin' }, - { - column: documents.metadata, - table: documents, - queryType: 'searchableJson', - }, - ) - .withLockContext(createMockLockContext()) - expectContainment(unwrapResult(result)) + const operation = client.encryptQuery( + { role: 'admin' }, + { + column: documents.metadata, + table: documents, + queryType: 'searchableJson', + }, + ) + const withContext = operation.withLockContext(createMockLockContext()) + expect(withContext).toHaveProperty('execute') + expect(typeof withContext.execute).toBe('function') }, 30000) }) diff --git a/packages/stack/integration/shared/matrix-sql.integration.test.ts b/packages/stack/integration/shared/matrix-sql.integration.test.ts index 7d1fa228d..3532cdcbc 100644 --- a/packages/stack/integration/shared/matrix-sql.integration.test.ts +++ b/packages/stack/integration/shared/matrix-sql.integration.test.ts @@ -20,8 +20,8 @@ * has at least two), and per domain one proof per query permutation its indexes * support — proving each selects the expected row and not the other. Beyond the * per-capability proofs below, every applicable domain also exercises the public - * two-arg negation/containment/range functions: `eql_v3.neq` (eq domains), - * `eql_v3.contained_by` (match domains), and explicit two-bound `eql_v3.gte`+`lte` + * two-arg negation/range functions: `eql_v3.neq` (eq domains) and explicit + * two-bound `eql_v3.gte`+`lte` * with strict `gt`+`lt` (ordering domains), plus a strict pairwise-`lt` ordering * proof. Queries use a FULL encrypted * operand (`client.encrypt`, same payload as storage) compared against the @@ -220,9 +220,6 @@ let orderIds: number[] = [] const eqTerms: Record = {} const ordTerms: Record = {} const matchTerms: Record = {} -// Full operand for each match domain's `samples[0]` value (NOT the 'ada' -// substring in `matchTerms`) — used by the `contained_by` proof. -const containedByTerms: Record = {} // Full operand for each ordering domain's distinct samples[0..L-1], reused from // the already-encrypted `ORDER_RUN_ID` rows (no extra encryption) — used by the // two-bound range / strict gt-lt proof. @@ -328,12 +325,6 @@ beforeAll(async () => { for (const [t] of matchDomains) { matchTerms[slug(t)] = await encryptOperand(t, 'ada') } - // `contained_by` operand = the FULL `samples[0]` value (row idA). Its token - // set equals idA's, so idA is contained_by it, while idB (`samples[1]`) has - // tokens the operand lacks. Reuse the already-encrypted `encModels[0]`. - for (const [t] of matchDomains) { - containedByTerms[slug(t)] = encModels[0][slug(t)] - } // Range-bound operands: the full operand for each distinct sample of an // ordering domain, taken straight from the encrypted `ORDER_RUN_ID` rows // (`encModels[i]` ↔ `orderIds[i]` ↔ `samples[i]`). No extra encryption. @@ -451,24 +442,6 @@ describe('v3 matrix live Postgres coverage (all covered domains)', () => { expect(rows.map((r) => r.id)).toEqual([expectedId]) }) - it.each( - matchDomains, - )('%s: eql_v3.contained_by selects the row whose tokens the operand covers', async (eqlType) => { - const col = slug(eqlType) - // `contained_by(col, operand)` (`col <@ operand`) is true when the column's - // bloom tokens are a subset of the operand's. The operand encrypts row idA's - // full `samples[0]` value, so idA (equal token set) is contained_by it, while - // idB (`samples[1]`) carries tokens the operand lacks and is excluded. This is - // the dual of the `contains`/`@>` proof above. - const rows = await sql.unsafe( - `SELECT id FROM ${TABLE_NAME} - WHERE test_run_id = $1 - AND eql_v3.contained_by("${col}", $2::jsonb)`, - [TEST_RUN_ID, sql.json(containedByTerms[col] as never)], - ) - expect(rows.map((r) => r.id)).toEqual([idA]) - }) - it.each( orderingDomains, )('%s: ORE pairwise-lt reproduces plaintext order across all distinct samples', async (eqlType, spec) => { From 732ad5bebb9963abaa711668235ac1eaa79ec3bf Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Mon, 20 Jul 2026 21:51:35 +1000 Subject: [PATCH 3/9] fix: regenerate Prisma example migration --- .../20260714T2142_initial/end-contract.d.ts | 1212 ++++++++++++++- .../20260714T2142_initial/end-contract.json | 1317 ++++++++++++++++- .../app/20260714T2142_initial/migration.json | 4 +- .../app/20260714T2142_initial/migration.ts | 2 +- examples/prisma/src/prisma/contract.d.ts | 2 +- examples/prisma/src/prisma/contract.json | 2 +- 6 files changed, 2532 insertions(+), 7 deletions(-) diff --git a/examples/prisma/migrations/app/20260714T2142_initial/end-contract.d.ts b/examples/prisma/migrations/app/20260714T2142_initial/end-contract.d.ts index ac8c33f34..5e0d0650d 100644 --- a/examples/prisma/migrations/app/20260714T2142_initial/end-contract.d.ts +++ b/examples/prisma/migrations/app/20260714T2142_initial/end-contract.d.ts @@ -10,6 +10,7 @@ import type { EncryptedDate, EncryptedDouble, EncryptedJson, + EncryptedNumber, EncryptedString, } from '@prisma-next/extension-cipherstash/runtime'; import type { @@ -40,7 +41,7 @@ import type { } from '@prisma-next/contract/types'; export type StorageHash = - StorageHashBase<'sha256:deb36a1ab7e51717f5ca822a32ff09a18cf3a0aaf1189262852c8953adba1720'>; + StorageHashBase<'sha256:32984f82d1b089087df107ff4b86310b8640e04f67eb7f6ebf5601694338b8f2'>; export type ExecutionHash = ExecutionHashBase; export type ProfileHash = ProfileHashBase<'sha256:9c8aa3114e84ed3b7ea2bd57526d9c2e1bf7c5292be694e9d3801f566fda7ccb'>; @@ -493,6 +494,970 @@ type ContractBase = Omit< readonly traits: readonly ['cipherstash:searchable-json']; }; }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_integer@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_integer' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_integer']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_integer_eq@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_integer_eq' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_integer_eq']; + readonly traits: readonly ['cipherstash:equality']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_integer_ord_ore@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_integer_ord_ore' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_integer_ord_ore']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_integer_ord@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_integer_ord' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_integer_ord']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_smallint@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_smallint' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_smallint']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_smallint_eq@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_smallint_eq' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_smallint_eq']; + readonly traits: readonly ['cipherstash:equality']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_smallint_ord_ore@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_smallint_ord_ore' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_smallint_ord_ore']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_smallint_ord@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_smallint_ord' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_smallint_ord']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_bigint@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_bigint' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_bigint']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_bigint_eq@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_bigint_eq' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_bigint_eq']; + readonly traits: readonly ['cipherstash:equality']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_bigint_ord_ore@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_bigint_ord_ore' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_bigint_ord_ore']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_bigint_ord@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_bigint_ord' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_bigint_ord']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_date@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_date' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_date']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_date_eq@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_date_eq' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_date_eq']; + readonly traits: readonly ['cipherstash:equality']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_date_ord_ore@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_date_ord_ore' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_date_ord_ore']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_date_ord@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_date_ord' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_date_ord']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_timestamp@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_timestamp' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_timestamp']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_timestamp_eq@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_timestamp_eq' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_timestamp_eq']; + readonly traits: readonly ['cipherstash:equality']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_timestamp_ord_ore@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_timestamp_ord_ore' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_timestamp_ord_ore']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_timestamp_ord@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_timestamp_ord' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_timestamp_ord']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_numeric@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_numeric' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_numeric']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_numeric_eq@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_numeric_eq' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_numeric_eq']; + readonly traits: readonly ['cipherstash:equality']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_numeric_ord_ore@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_numeric_ord_ore' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_numeric_ord_ore']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_numeric_ord@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_numeric_ord' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_numeric_ord']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_text@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_text' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_text']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_text_eq@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_text_eq' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_text_eq']; + readonly traits: readonly ['cipherstash:equality']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_text_match@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_text_match' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_text_match']; + readonly traits: readonly ['cipherstash:free-text-search']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_text_ord_ore@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_text_ord_ore' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_text_ord_ore']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_text_ord@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_text_ord' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_text_ord']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_text_search@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_text_search' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_text_search']; + readonly traits: readonly [ + 'cipherstash:equality', + 'cipherstash:order-and-range', + 'cipherstash:free-text-search', + ]; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_boolean@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_boolean' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_boolean']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_real@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_real' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_real']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_real_eq@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_real_eq' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_real_eq']; + readonly traits: readonly ['cipherstash:equality']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_real_ord_ore@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_real_ord_ore' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_real_ord_ore']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_real_ord@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_real_ord' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_real_ord']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_double@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_double' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_double']; + readonly traits: readonly []; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_double_eq@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_double_eq' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_double_eq']; + readonly traits: readonly ['cipherstash:equality']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_double_ord_ore@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_double_ord_ore' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_double_ord_ore']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_double_ord@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_double_ord' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_double_ord']; + readonly traits: readonly ['cipherstash:equality', 'cipherstash:order-and-range']; + }; + }, + { + readonly descriptor: { + readonly codecId: 'cipherstash/eql-v3/eql_v3_json_search@1'; + readonly factory: unknown; + readonly isParameterized: true; + readonly meta: { + readonly db: { + readonly sql: { + readonly postgres: { readonly nativeType: 'public.eql_v3_json_search' }; + }; + }; + }; + readonly paramsSchema: { + readonly '~standard': { + readonly validate: unknown; + readonly vendor: 'cipherstash'; + readonly version: 1; + }; + }; + readonly renderOutputType: unknown; + readonly targetTypes: readonly ['public.eql_v3_json_search']; + readonly traits: readonly ['cipherstash:searchable-json']; + }; + }, ]; readonly import: { readonly alias: 'CipherstashTypes'; @@ -530,6 +1495,11 @@ type ContractBase = Omit< readonly named: 'EncryptedJson'; readonly package: '@prisma-next/extension-cipherstash/runtime'; }, + { + readonly alias: 'EncryptedNumber'; + readonly named: 'EncryptedNumber'; + readonly package: '@prisma-next/extension-cipherstash/runtime'; + }, ]; }; readonly queryOperationTypes: { @@ -576,6 +1546,246 @@ type ContractBase = Omit< readonly targetId: 'postgres'; readonly typeId: 'cipherstash/json@1'; }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_integer'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_integer@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_integer_eq'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_integer_eq@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_integer_ord_ore'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_integer_ord_ore@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_integer_ord'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_integer_ord@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_smallint'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_smallint@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_smallint_eq'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_smallint_eq@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_smallint_ord_ore'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_smallint_ord_ore@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_smallint_ord'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_smallint_ord@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_bigint'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_bigint@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_bigint_eq'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_bigint_eq@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_bigint_ord_ore'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_bigint_ord_ore@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_bigint_ord'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_bigint_ord@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_date'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_date@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_date_eq'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_date_eq@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_date_ord_ore'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_date_ord_ore@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_date_ord'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_date_ord@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_timestamp'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_timestamp@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_timestamp_eq'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_timestamp_eq@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_timestamp_ord_ore'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_timestamp_ord_ore@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_timestamp_ord'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_timestamp_ord@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_numeric'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_numeric@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_numeric_eq'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_numeric_eq@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_numeric_ord_ore'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_numeric_ord_ore@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_numeric_ord'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_numeric_ord@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_text'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_text@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_text_eq'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_text_eq@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_text_match'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_text_match@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_text_ord_ore'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_text_ord_ore@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_text_ord'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_text_ord@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_text_search'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_text_search@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_boolean'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_boolean@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_real'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_real@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_real_eq'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_real_eq@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_real_ord_ore'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_real_ord_ore@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_real_ord'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_real_ord@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_double'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_double@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_double_eq'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_double_eq@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_double_ord_ore'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_double_ord_ore@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_double_ord'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_double_ord@1'; + }, + { + readonly familyId: 'sql'; + readonly nativeType: 'public.eql_v3_json_search'; + readonly targetId: 'postgres'; + readonly typeId: 'cipherstash/eql-v3/eql_v3_json_search@1'; + }, ]; }; readonly version: '0.0.1'; diff --git a/examples/prisma/migrations/app/20260714T2142_initial/end-contract.json b/examples/prisma/migrations/app/20260714T2142_initial/end-contract.json index e27c5f39d..0f2558ee3 100644 --- a/examples/prisma/migrations/app/20260714T2142_initial/end-contract.json +++ b/examples/prisma/migrations/app/20260714T2142_initial/end-contract.json @@ -234,7 +234,7 @@ "kind": "postgres-schema" } }, - "storageHash": "sha256:deb36a1ab7e51717f5ca822a32ff09a18cf3a0aaf1189262852c8953adba1720" + "storageHash": "sha256:32984f82d1b089087df107ff4b86310b8640e04f67eb7f6ebf5601694338b8f2" }, "capabilities": { "postgres": { @@ -421,6 +421,1076 @@ "cipherstash:searchable-json" ] } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_integer@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_integer" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_integer" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_integer_eq@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_integer_eq" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_integer_eq" + ], + "traits": [ + "cipherstash:equality" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_integer_ord_ore@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_integer_ord_ore" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_integer_ord_ore" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_integer_ord@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_integer_ord" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_integer_ord" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_smallint@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_smallint" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_smallint" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_smallint_eq@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_smallint_eq" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_smallint_eq" + ], + "traits": [ + "cipherstash:equality" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_smallint_ord_ore@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_smallint_ord_ore" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_smallint_ord_ore" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_smallint_ord@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_smallint_ord" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_smallint_ord" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_bigint@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_bigint" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_bigint" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_bigint_eq@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_bigint_eq" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_bigint_eq" + ], + "traits": [ + "cipherstash:equality" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_bigint_ord_ore@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_bigint_ord_ore" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_bigint_ord_ore" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_bigint_ord@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_bigint_ord" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_bigint_ord" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_date@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_date" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_date" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_date_eq@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_date_eq" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_date_eq" + ], + "traits": [ + "cipherstash:equality" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_date_ord_ore@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_date_ord_ore" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_date_ord_ore" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_date_ord@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_date_ord" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_date_ord" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_timestamp@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_timestamp" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_timestamp" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_timestamp_eq@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_timestamp_eq" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_timestamp_eq" + ], + "traits": [ + "cipherstash:equality" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_timestamp_ord_ore@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_timestamp_ord_ore" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_timestamp_ord_ore" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_timestamp_ord@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_timestamp_ord" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_timestamp_ord" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_numeric@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_numeric" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_numeric" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_numeric_eq@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_numeric_eq" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_numeric_eq" + ], + "traits": [ + "cipherstash:equality" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_numeric_ord_ore@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_numeric_ord_ore" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_numeric_ord_ore" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_numeric_ord@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_numeric_ord" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_numeric_ord" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_text@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_text" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_text" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_text_eq@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_text_eq" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_text_eq" + ], + "traits": [ + "cipherstash:equality" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_text_match@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_text_match" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_text_match" + ], + "traits": [ + "cipherstash:free-text-search" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_text_ord_ore@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_text_ord_ore" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_text_ord_ore" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_text_ord@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_text_ord" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_text_ord" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_text_search@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_text_search" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_text_search" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range", + "cipherstash:free-text-search" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_boolean@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_boolean" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_boolean" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_real@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_real" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_real" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_real_eq@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_real_eq" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_real_eq" + ], + "traits": [ + "cipherstash:equality" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_real_ord_ore@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_real_ord_ore" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_real_ord_ore" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_real_ord@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_real_ord" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_real_ord" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_double@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_double" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_double" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_double_eq@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_double_eq" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_double_eq" + ], + "traits": [ + "cipherstash:equality" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_double_ord_ore@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_double_ord_ore" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_double_ord_ore" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_double_ord@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_double_ord" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_double_ord" + ], + "traits": [ + "cipherstash:equality", + "cipherstash:order-and-range" + ] + } + }, + { + "descriptor": { + "codecId": "cipherstash/eql-v3/eql_v3_json_search@1", + "isParameterized": true, + "meta": { + "db": { + "sql": { + "postgres": { + "nativeType": "public.eql_v3_json_search" + } + } + } + }, + "paramsSchema": { + "~standard": { + "vendor": "cipherstash", + "version": 1 + } + }, + "targetTypes": [ + "public.eql_v3_json_search" + ], + "traits": [ + "cipherstash:searchable-json" + ] + } } ], "import": { @@ -458,6 +1528,11 @@ "alias": "EncryptedJson", "named": "EncryptedJson", "package": "@prisma-next/extension-cipherstash/runtime" + }, + { + "alias": "EncryptedNumber", + "named": "EncryptedNumber", + "package": "@prisma-next/extension-cipherstash/runtime" } ] }, @@ -504,6 +1579,246 @@ "nativeType": "eql_v2_encrypted", "targetId": "postgres", "typeId": "cipherstash/json@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_integer", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_integer@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_integer_eq", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_integer_eq@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_integer_ord_ore", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_integer_ord_ore@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_integer_ord", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_integer_ord@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_smallint", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_smallint@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_smallint_eq", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_smallint_eq@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_smallint_ord_ore", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_smallint_ord_ore@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_smallint_ord", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_smallint_ord@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_bigint", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_bigint@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_bigint_eq", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_bigint_eq@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_bigint_ord_ore", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_bigint_ord_ore@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_bigint_ord", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_bigint_ord@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_date", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_date@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_date_eq", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_date_eq@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_date_ord_ore", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_date_ord_ore@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_date_ord", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_date_ord@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_timestamp", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_timestamp@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_timestamp_eq", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_timestamp_eq@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_timestamp_ord_ore", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_timestamp_ord_ore@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_timestamp_ord", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_timestamp_ord@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_numeric", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_numeric@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_numeric_eq", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_numeric_eq@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_numeric_ord_ore", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_numeric_ord_ore@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_numeric_ord", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_numeric_ord@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_text", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_text@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_text_eq", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_text_eq@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_text_match", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_text_match@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_text_ord_ore", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_text_ord_ore@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_text_ord", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_text_ord@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_text_search", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_text_search@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_boolean", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_boolean@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_real", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_real@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_real_eq", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_real_eq@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_real_ord_ore", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_real_ord_ore@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_real_ord", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_real_ord@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_double", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_double@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_double_eq", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_double_eq@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_double_ord_ore", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_double_ord_ore@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_double_ord", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_double_ord@1" + }, + { + "familyId": "sql", + "nativeType": "public.eql_v3_json_search", + "targetId": "postgres", + "typeId": "cipherstash/eql-v3/eql_v3_json_search@1" } ] }, diff --git a/examples/prisma/migrations/app/20260714T2142_initial/migration.json b/examples/prisma/migrations/app/20260714T2142_initial/migration.json index 668d328b9..b0b1830a0 100644 --- a/examples/prisma/migrations/app/20260714T2142_initial/migration.json +++ b/examples/prisma/migrations/app/20260714T2142_initial/migration.json @@ -1,7 +1,7 @@ { "from": null, - "to": "sha256:deb36a1ab7e51717f5ca822a32ff09a18cf3a0aaf1189262852c8953adba1720", + "to": "sha256:32984f82d1b089087df107ff4b86310b8640e04f67eb7f6ebf5601694338b8f2", "providedInvariants": [], "createdAt": "2026-07-14T21:42:57.497Z", - "migrationHash": "sha256:09f7b2055a58e0b1567de888fca7c9b02ffb8c2970b0228ee30e813ad16dadc0" + "migrationHash": "sha256:e17cabe70dac513a9454b77da4a4164f581762ea45ef8d311d8d5e9d48b86464" } \ No newline at end of file diff --git a/examples/prisma/migrations/app/20260714T2142_initial/migration.ts b/examples/prisma/migrations/app/20260714T2142_initial/migration.ts index 384d4f0b6..7428a42b7 100755 --- a/examples/prisma/migrations/app/20260714T2142_initial/migration.ts +++ b/examples/prisma/migrations/app/20260714T2142_initial/migration.ts @@ -10,7 +10,7 @@ export default class M extends Migration { override describe() { return { from: null, - to: 'sha256:deb36a1ab7e51717f5ca822a32ff09a18cf3a0aaf1189262852c8953adba1720', + to: 'sha256:32984f82d1b089087df107ff4b86310b8640e04f67eb7f6ebf5601694338b8f2', } } diff --git a/examples/prisma/src/prisma/contract.d.ts b/examples/prisma/src/prisma/contract.d.ts index 864312361..5e0d0650d 100644 --- a/examples/prisma/src/prisma/contract.d.ts +++ b/examples/prisma/src/prisma/contract.d.ts @@ -41,7 +41,7 @@ import type { } from '@prisma-next/contract/types'; export type StorageHash = - StorageHashBase<'sha256:deb36a1ab7e51717f5ca822a32ff09a18cf3a0aaf1189262852c8953adba1720'>; + StorageHashBase<'sha256:32984f82d1b089087df107ff4b86310b8640e04f67eb7f6ebf5601694338b8f2'>; export type ExecutionHash = ExecutionHashBase; export type ProfileHash = ProfileHashBase<'sha256:9c8aa3114e84ed3b7ea2bd57526d9c2e1bf7c5292be694e9d3801f566fda7ccb'>; diff --git a/examples/prisma/src/prisma/contract.json b/examples/prisma/src/prisma/contract.json index 071443ccb..0f2558ee3 100644 --- a/examples/prisma/src/prisma/contract.json +++ b/examples/prisma/src/prisma/contract.json @@ -234,7 +234,7 @@ "kind": "postgres-schema" } }, - "storageHash": "sha256:deb36a1ab7e51717f5ca822a32ff09a18cf3a0aaf1189262852c8953adba1720" + "storageHash": "sha256:32984f82d1b089087df107ff4b86310b8640e04f67eb7f6ebf5601694338b8f2" }, "capabilities": { "postgres": { From b2cb0825224824b94a032c26aed98425fcff1a79 Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Mon, 20 Jul 2026 21:56:31 +1000 Subject: [PATCH 4/9] test: configure Supabase EQL 3.0.2 boundary --- packages/stack-supabase/integration/wire.integration.test.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/stack-supabase/integration/wire.integration.test.ts b/packages/stack-supabase/integration/wire.integration.test.ts index 446cc12a2..808f69412 100644 --- a/packages/stack-supabase/integration/wire.integration.test.ts +++ b/packages/stack-supabase/integration/wire.integration.test.ts @@ -212,6 +212,10 @@ function from(): any { stubEncryptionClient(), makePostgrestClient(), ALL_COLUMNS, + // This suite constructs the builder directly rather than through + // encryptedSupabaseV3(), so supply the EQL 3.0.2 query-domain boundary + // that the public factory normally derives from introspection. + true, ) } From c22a3f3ffe19589a57185ce36f14f6dead2017d5 Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Tue, 21 Jul 2026 09:50:16 +1000 Subject: [PATCH 5/9] fix: address final PR 711 feedback --- .changeset/protect-ffi-030-json-selectors.md | 6 ++ packages/stack/README.md | 5 +- .../encrypt-query-match-preflight.test.ts | 58 +++++++++++++++++++ .../stack/__tests__/selector-path.test.ts | 37 ++++++++++++ .../src/encryption/helpers/validation.ts | 30 +++++++++- .../operations/batch-encrypt-query.ts | 2 + .../encryption/operations/encrypt-query.ts | 3 + packages/stack/src/schema/match-defaults.ts | 4 +- skills/stash-encryption/SKILL.md | 5 +- 9 files changed, 145 insertions(+), 5 deletions(-) create mode 100644 packages/stack/__tests__/encrypt-query-match-preflight.test.ts create mode 100644 packages/stack/__tests__/selector-path.test.ts diff --git a/.changeset/protect-ffi-030-json-selectors.md b/.changeset/protect-ffi-030-json-selectors.md index b25afc888..87257563b 100644 --- a/.changeset/protect-ffi-030-json-selectors.md +++ b/.changeset/protect-ffi-030-json-selectors.md @@ -19,6 +19,12 @@ ciphertext-free path selector plus string/number query term. Prisma Next gains the equivalent `eqlJsonPathEq`, `eqlJsonPathNeq`, `eqlJsonPathGt`, `eqlJsonPathGte`, `eqlJsonPathLt`, and `eqlJsonPathLte` operators. +If you call `encryptQuery` with an explicit `queryType`, note that +`steVecTerm` now produces a scalar JSON ordering term. It no longer means +structural containment; use the recommended `searchableJson` query type with +an object or array for containment, or `steVecValueSelector` with +`{ path, value }` for exact equality at a path. + The FFI now rejects free-text needles shorter than the configured n-gram size at the core query-encryption boundary, including callers that bypass adapter guards. diff --git a/packages/stack/README.md b/packages/stack/README.md index 5a757d3d7..f5450a725 100644 --- a/packages/stack/README.md +++ b/packages/stack/README.md @@ -333,7 +333,10 @@ Two semantics to know: > **Upgrade note:** EQL 3.0.2 changes the searchable-JSON storage domain and > SteVec wire format. Existing encrypted JSON rows must be re-encrypted before > querying them with this version. Legacy EQL v2 `searchableJson()` columns are -> no longer supported; migrate them to the EQL v3 `types.Json` domain. +> no longer supported; migrate them to the EQL v3 `types.Json` domain. For raw +> `encryptQuery` callers, explicit `queryType: 'steVecTerm'` now means a scalar +> JSON ordering term, not containment. Prefer `searchableJson` for containment, +> or `steVecValueSelector` for exact equality at a path. ### Batch Query Encryption diff --git a/packages/stack/__tests__/encrypt-query-match-preflight.test.ts b/packages/stack/__tests__/encrypt-query-match-preflight.test.ts new file mode 100644 index 000000000..4c673e501 --- /dev/null +++ b/packages/stack/__tests__/encrypt-query-match-preflight.test.ts @@ -0,0 +1,58 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import { EncryptionV3 } from '@/encryption/v3' +import { encryptedTable, types } from '@/eql/v3' + +vi.mock('@cipherstash/protect-ffi', () => ({ + ProtectError: class ProtectError extends Error {}, + newClient: vi.fn(async () => ({ __mock: 'client' })), + encryptQuery: vi.fn(async () => ({ v: 3, bf: [1] })), + encryptQueryBulk: vi.fn(async () => [{ v: 3, bf: [1] }]), +})) + +import * as ffi from '@cipherstash/protect-ffi' + +const users = encryptedTable('users', { + bio: types.TextMatch('bio'), +}) + +let previousWorkspaceCrn: string | undefined + +beforeEach(() => { + vi.clearAllMocks() + previousWorkspaceCrn = process.env.CS_WORKSPACE_CRN + process.env.CS_WORKSPACE_CRN = 'crn:ap-southeast-2.aws:test-workspace' +}) + +afterEach(() => { + if (previousWorkspaceCrn === undefined) delete process.env.CS_WORKSPACE_CRN + else process.env.CS_WORKSPACE_CRN = previousWorkspaceCrn +}) + +describe('core v3 match-needle preflight', () => { + it('rejects a short scalar needle without calling protect-ffi', async () => { + const client = await EncryptionV3({ schemas: [users] }) + const result = await client.encryptQuery('ad', { + column: users.bio, + table: users, + queryType: 'freeTextSearch', + }) + + expect(result.failure?.message).toMatch(/at least 3 characters/) + expect(ffi.encryptQuery).not.toHaveBeenCalled() + }) + + it('rejects a short term in a batch before calling protect-ffi', async () => { + const client = await EncryptionV3({ schemas: [users] }) + const result = await client.encryptQuery([ + { + value: 'ad', + column: users.bio, + table: users, + queryType: 'freeTextSearch', + }, + ]) + + expect(result.failure?.message).toMatch(/at least 3 characters/) + expect(ffi.encryptQueryBulk).not.toHaveBeenCalled() + }) +}) diff --git a/packages/stack/__tests__/selector-path.test.ts b/packages/stack/__tests__/selector-path.test.ts new file mode 100644 index 000000000..b32a9fc8f --- /dev/null +++ b/packages/stack/__tests__/selector-path.test.ts @@ -0,0 +1,37 @@ +import { describe, expect, it } from 'vitest' +import { unsupportedLeafReason } from '@/eql/v3/selector-path' + +describe('unsupportedLeafReason', () => { + it.each([ + 'value', + 42, + true, + ])('accepts the JSON scalar %j for equality', (value) => { + expect(unsupportedLeafReason(value, false)).toBeNull() + }) + + it.each([ + 'value', + 42, + ])('accepts the orderable JSON scalar %j for ordering', (value) => { + expect(unsupportedLeafReason(value, true)).toBeNull() + }) + + it.each([ + ['null', null, /non-null scalar leaf/], + ['undefined', undefined, /non-null scalar leaf/], + ['object', { nested: true }, /got an object/], + ['array', ['nested'], /got an array/], + ['Date', new Date('2026-01-02T03:04:05Z'), /got a Date/], + ['bigint', 10n, /got bigint/], + ['NaN', Number.NaN, /only finite numbers/], + ['Infinity', Number.POSITIVE_INFINITY, /only finite numbers/], + ] as const)('rejects an unsupported %s leaf', (_label, value, reason) => { + expect(unsupportedLeafReason(value, false)).toMatch(reason) + }) + + it('rejects boolean ordering while retaining boolean equality', () => { + expect(unsupportedLeafReason(true, true)).toMatch(/no ordering/) + expect(unsupportedLeafReason(true, false)).toBeNull() + }) +}) diff --git a/packages/stack/src/encryption/helpers/validation.ts b/packages/stack/src/encryption/helpers/validation.ts index b97ebb14a..aeb59b0f9 100644 --- a/packages/stack/src/encryption/helpers/validation.ts +++ b/packages/stack/src/encryption/helpers/validation.ts @@ -1,6 +1,7 @@ import type { Result } from '@byteslice/result' import { type EncryptionError, EncryptionErrorTypes } from '@/errors' -import type { FfiIndexTypeName } from '@/types' +import { matchNeedleError } from '@/schema/match-defaults' +import type { BuildableQueryColumn, FfiIndexTypeName } from '@/types' /** * Inclusive bounds of a signed 64-bit integer (`int8`) — the range every @@ -131,3 +132,30 @@ export function assertValueIndexCompatibility( ) } } + +/** + * Fail closed when a v3 match needle would tokenize to nothing. + * + * protect-ffi enforces the same invariant at its query-encryption boundary; + * this credential-free preflight keeps the Stack core path deterministic and + * ensures the FFI is never called with a match-all empty bloom. The v3 marker + * deliberately excludes legacy v2 LIKE/ILIKE values, which may still carry SQL + * wildcard syntax at this layer. + * + * @internal + */ +export function assertMatchNeedleQueryable( + value: unknown, + indexType: FfiIndexTypeName, + column: BuildableQueryColumn, +): void { + if (indexType !== 'match' || !('getQueryCapabilities' in column)) return + + const match = column.build().indexes?.match + const reason = match ? matchNeedleError(value, match) : undefined + if (reason) { + throw new Error( + `[encryption]: Cannot search column "${column.getName()}": ${reason}`, + ) + } +} diff --git a/packages/stack/src/encryption/operations/batch-encrypt-query.ts b/packages/stack/src/encryption/operations/batch-encrypt-query.ts index cd1e24232..cd0e764e0 100644 --- a/packages/stack/src/encryption/operations/batch-encrypt-query.ts +++ b/packages/stack/src/encryption/operations/batch-encrypt-query.ts @@ -16,6 +16,7 @@ import type { Client, EncryptedQueryResult, ScalarQueryTerm } from '@/types' import { createRequestLogger } from '@/utils/logger' import { resolveIndexType } from '../helpers/infer-index-type' import { + assertMatchNeedleQueryable, assertValidNumericValue, assertValueIndexCompatibility, } from '../helpers/validation' @@ -56,6 +57,7 @@ function buildQueryPayload( // Validate value/index compatibility assertValueIndexCompatibility(term.value, indexType, term.column.getName()) + assertMatchNeedleQueryable(term.value, indexType, term.column) const payload: QueryPayload = { plaintext: term.value as JsPlaintext, diff --git a/packages/stack/src/encryption/operations/encrypt-query.ts b/packages/stack/src/encryption/operations/encrypt-query.ts index 9369b91de..0c363584c 100644 --- a/packages/stack/src/encryption/operations/encrypt-query.ts +++ b/packages/stack/src/encryption/operations/encrypt-query.ts @@ -16,6 +16,7 @@ import type { import { createRequestLogger } from '@/utils/logger' import { resolveIndexType } from '../helpers/infer-index-type' import { + assertMatchNeedleQueryable, assertValueIndexCompatibility, validateNumericValue, } from '../helpers/validation' @@ -86,6 +87,7 @@ export class EncryptQueryOperation extends EncryptionOperation SteVec wire format are not compatible with earlier encrypted JSON rows. > Re-encrypt those rows during the upgrade. Legacy EQL v2 > `searchableJson()` columns are no longer supported by protect-ffi 0.30; -> migrate them to v3 `types.Json`. +> migrate them to v3 `types.Json`. If you use raw `encryptQuery` query types, +> explicit `steVecTerm` now produces a scalar JSON ordering term rather than a +> containment needle. Prefer `searchableJson` for containment, or +> `steVecValueSelector` for exact equality at a path. See the `stash-drizzle` and `stash-supabase` skills for the full integration guides. From 78cf381382b79623a6344aa1f31c4e685ca6ef60 Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Tue, 21 Jul 2026 12:52:30 +1000 Subject: [PATCH 6/9] feat: add JSON selector ordering parity --- .changeset/protect-ffi-030-json-selectors.md | 10 +- packages/prisma-next/README.md | 2 +- .../prisma-next/integration/json-adapter.ts | 121 +++++++++++ .../integration/json.integration.test.ts | 4 + packages/prisma-next/src/exports/runtime.ts | 2 + packages/prisma-next/src/exports/v3.ts | 2 + packages/prisma-next/src/v3/operators-v3.ts | 66 +++++- .../test/live/operators-live-pg.test.ts | 2 +- .../test/v3/operator-lowering-v3-json.test.ts | 33 ++- packages/stack-drizzle/README.md | 5 + .../__tests__/v3/operators.test.ts | 22 +- .../__tests__/v3/sql-dialect.test.ts | 10 + .../stack-drizzle/integration/json-adapter.ts | 117 ++++++++++ .../json-contains.integration.test.ts | 126 ----------- .../json-selector.integration.test.ts | 165 --------------- .../integration/json.integration.test.ts | 4 + packages/stack-drizzle/src/v3/operators.ts | 75 ++++++- packages/stack-drizzle/src/v3/sql-dialect.ts | 5 +- packages/test-kit/package.json | 1 + packages/test-kit/src/catalog.ts | 4 +- packages/test-kit/src/families.ts | 2 +- packages/test-kit/src/index.ts | 7 + packages/test-kit/src/json-adapter.ts | 42 ++++ packages/test-kit/src/ops.ts | 4 +- packages/test-kit/src/run-family-suite.ts | 4 +- packages/test-kit/src/run-json-suite.ts | 199 ++++++++++++++++++ skills/stash-drizzle/SKILL.md | 12 +- skills/stash-prisma-next/SKILL.md | 7 +- 28 files changed, 739 insertions(+), 314 deletions(-) create mode 100644 packages/prisma-next/integration/json-adapter.ts create mode 100644 packages/prisma-next/integration/json.integration.test.ts create mode 100644 packages/stack-drizzle/integration/json-adapter.ts delete mode 100644 packages/stack-drizzle/integration/json-contains.integration.test.ts delete mode 100644 packages/stack-drizzle/integration/json-selector.integration.test.ts create mode 100644 packages/stack-drizzle/integration/json.integration.test.ts create mode 100644 packages/test-kit/src/json-adapter.ts create mode 100644 packages/test-kit/src/run-json-suite.ts diff --git a/.changeset/protect-ffi-030-json-selectors.md b/.changeset/protect-ffi-030-json-selectors.md index 87257563b..814156604 100644 --- a/.changeset/protect-ffi-030-json-selectors.md +++ b/.changeset/protect-ffi-030-json-selectors.md @@ -14,10 +14,14 @@ domains and functions. Encrypted JSON now uses the `public.eql_v3_json_search` storage domain and `eql_v3.query_json` query domain. Drizzle selector equality uses exact, -GIN-indexable value-selector containment, while selector ordering uses a -ciphertext-free path selector plus string/number query term. Prisma Next gains +GIN-indexable value-selector containment, while selector range comparisons use +a ciphertext-free path selector plus string/number query term. Prisma Next gains the equivalent `eqlJsonPathEq`, `eqlJsonPathNeq`, `eqlJsonPathGt`, -`eqlJsonPathGte`, `eqlJsonPathLt`, and `eqlJsonPathLte` operators. +`eqlJsonPathGte`, `eqlJsonPathLt`, and `eqlJsonPathLte` operators. Selector +Selector-based `ORDER BY` is available as +`ops.selector(column, path).asc()/desc()` in Drizzle +and `eqlJsonPathAsc(column, path)` / `eqlJsonPathDesc(column, path)` in Prisma +Next; both lower to `ORDER BY eql_v3.ord_term` over the selected entry. If you call `encryptQuery` with an explicit `queryType`, note that `steVecTerm` now produces a scalar JSON ordering term. It no longer means diff --git a/packages/prisma-next/README.md b/packages/prisma-next/README.md index bd49b0d14..6386e3f71 100644 --- a/packages/prisma-next/README.md +++ b/packages/prisma-next/README.md @@ -91,7 +91,7 @@ See the [full documentation](https://cipherstash.com/docs/stack/cipherstash/encr | Subpath | Purpose | | ---------------- | ------------------------------------------------------------------------------------------------------ | -| `./v3` | The complete EQL v3 surface: `cipherstashFromStack`, the `eql*` query operations, `eqlAsc`/`eqlDesc`, envelopes, `bulkEncryptMiddlewareV3`, SDK adapter | +| `./v3` | The complete EQL v3 surface: `cipherstashFromStack`, the `eql*` query operations, `eqlAsc`/`eqlDesc`, `eqlJsonPathAsc`/`eqlJsonPathDesc`, envelopes, `bulkEncryptMiddlewareV3`, SDK adapter | | `./stack` | One-call setup against `@cipherstash/stack`: `cipherstashFromStack`, `deriveStackSchemasV3`, `createCipherstashV3Sdk` | | `./control` | `SqlControlExtensionDescriptor` (contract space + pack meta + v3 codec lifecycle hooks) | | `./runtime` | Envelope classes + `CipherstashSdk` + v3 codec runtime + `decryptAll` + `bulkEncryptMiddlewareV3` | diff --git a/packages/prisma-next/integration/json-adapter.ts b/packages/prisma-next/integration/json-adapter.ts new file mode 100644 index 000000000..754c516fd --- /dev/null +++ b/packages/prisma-next/integration/json-adapter.ts @@ -0,0 +1,121 @@ +import { stripDomainSchema } from '@cipherstash/stack/adapter-kit' +import { + databaseUrl, + type JsonIntegrationAdapter, + type JsonQueryOp, + type JsonTableSpec, +} from '@cipherstash/test-kit' +import type { + AnyExpression, + SelectAst, +} from '@prisma-next/sql-relational-core/ast' +import { ColumnRef, OrderByItem } from '@prisma-next/sql-relational-core/ast' +import postgres from 'postgres' +import { EncryptedJson } from '../src/execution/envelope-json' +import { toV3CodecId } from '../src/v3/catalog' +import { eqlJsonPathAsc, eqlJsonPathDesc } from '../src/v3/operators-v3' +import { + createLiveTable, + insertEncryptedRows, + JSON_CODEC, + type LiveV3Client, + liveV3Contract, + runLoweredSelect, + selectIdsOrderBy, + selectIdsWhere, + setupLiveV3, +} from '../test/live/helpers/harness' +import { + callOperator, + columnAccessorV3, + getOperator, +} from '../test/v3/operator-lowering-v3.helpers' + +const SELECTOR_METHOD = { + eq: 'eqlJsonPathEq', + ne: 'eqlJsonPathNeq', + gt: 'eqlJsonPathGt', + gte: 'eqlJsonPathGte', + lt: 'eqlJsonPathLt', + lte: 'eqlJsonPathLte', +} as const + +/** Prisma Next implementation of the shared live encrypted-JSON contract. */ +export function makePrismaNextJsonAdapter(): JsonIntegrationAdapter { + let sql: postgres.Sql + let tableName: string + let live: LiveV3Client + let contract: ReturnType + const codecId = toV3CodecId(stripDomainSchema('public.eql_v3_json_search')) + + const accessor = () => columnAccessorV3(tableName, 'document', codecId) + + const predicateFor = ( + op: Exclude, + ) => { + if (op.kind === 'contains') { + return callOperator(getOperator('eqlJsonContains'), accessor(), op.value) + } + return callOperator( + getOperator(SELECTOR_METHOD[op.comparison]), + accessor(), + op.path, + op.value, + ) + } + + return { + name: 'prisma-next', + + async setup(spec: JsonTableSpec) { + tableName = spec.name + sql = postgres(databaseUrl(), { prepare: false, onnotice: () => {} }) + await createLiveTable(sql, tableName, { document: JSON_CODEC }) + contract = liveV3Contract(tableName, { document: JSON_CODEC }) + live = await setupLiveV3(contract) + await insertEncryptedRows( + sql, + live.middleware, + tableName, + spec.rows.map((row) => ({ + id: row.rowKey, + cells: { + document: { + codecId: JSON_CODEC, + value: EncryptedJson.from(row.document), + }, + }, + })), + ) + }, + + async teardown() { + if (tableName) await sql.unsafe(`DROP TABLE IF EXISTS "${tableName}"`) + await sql.end() + }, + + async run(op: JsonQueryOp): Promise { + let ast: SelectAst + if (op.kind === 'selectorOrder') { + const term = + op.direction === 'asc' + ? eqlJsonPathAsc(accessor(), op.path) + : eqlJsonPathDesc(accessor(), op.path) + ast = selectIdsOrderBy(tableName, [ + term, + OrderByItem.asc(ColumnRef.of(tableName, 'id')), + ]) + } else { + ast = selectIdsWhere(tableName, predicateFor(op) as AnyExpression) + } + + const { ids } = await runLoweredSelect( + sql, + live.middleware, + contract, + ast, + ) + return ids + }, + } +} diff --git a/packages/prisma-next/integration/json.integration.test.ts b/packages/prisma-next/integration/json.integration.test.ts new file mode 100644 index 000000000..979858f9a --- /dev/null +++ b/packages/prisma-next/integration/json.integration.test.ts @@ -0,0 +1,4 @@ +import { runJsonSuite } from '@cipherstash/test-kit/json-suite' +import { makePrismaNextJsonAdapter } from './json-adapter' + +runJsonSuite(makePrismaNextJsonAdapter) diff --git a/packages/prisma-next/src/exports/runtime.ts b/packages/prisma-next/src/exports/runtime.ts index 540e5eadd..d96d76caf 100644 --- a/packages/prisma-next/src/exports/runtime.ts +++ b/packages/prisma-next/src/exports/runtime.ts @@ -81,6 +81,8 @@ export { cipherstashV3QueryOperations, eqlAsc, eqlDesc, + eqlJsonPathAsc, + eqlJsonPathDesc, } from '../v3/operators-v3' export { EncryptionOperatorError, diff --git a/packages/prisma-next/src/exports/v3.ts b/packages/prisma-next/src/exports/v3.ts index 4dc3160c0..48dceaee9 100644 --- a/packages/prisma-next/src/exports/v3.ts +++ b/packages/prisma-next/src/exports/v3.ts @@ -60,6 +60,8 @@ export { cipherstashV3QueryOperations, eqlAsc, eqlDesc, + eqlJsonPathAsc, + eqlJsonPathDesc, } from '../v3/operators-v3' // The query-term seam (consumed by custom CipherstashSdk implementations). export { diff --git a/packages/prisma-next/src/v3/operators-v3.ts b/packages/prisma-next/src/v3/operators-v3.ts index 1a28dfc22..723204b7a 100644 --- a/packages/prisma-next/src/v3/operators-v3.ts +++ b/packages/prisma-next/src/v3/operators-v3.ts @@ -754,7 +754,7 @@ function jsonSelectorOperator( lowering: { targetFamily: 'sql', strategy: 'function', - template: `eql_v3.${op}(eql_v3.jsonb_path_query_first({{self}}, {{arg0}}::text), {{arg1}}::${queryCast})`, + template: `eql_v3.${op}({{self}} -> {{arg0}}::text, {{arg1}}::${queryCast})`, }, }) }, @@ -945,3 +945,67 @@ export function eqlAsc(col: Expression): OrderByItem { export function eqlDesc(col: Expression): OrderByItem { return OrderByItem.desc(ordTermExpression(col, 'eqlDesc').buildAst()) } + +/** Build the OPE order term for a scalar JSON leaf addressed by `path`. */ +function jsonPathOrdTermExpression( + col: Expression, + path: string, + method: string, +): Expression { + const ctx = resolveContext(col, method) + gate(ctx, JSON_GATE.capability, JSON_GATE.label, method) + + let canonicalPath: string + try { + canonicalPath = jsonPathOf(parseSelectorSegments(path)) + } catch (error) { + throw operatorError( + ctx, + method, + `cipherstash ${method}: ${error instanceof Error ? error.message : String(error)}`, + ) + } + + const selector = asQueryTermParam( + ctx, + canonicalPath, + method, + 'steVecSelector', + ) + return buildOperation({ + method, + args: [ctx.selfAst, selector], + returns: { codecId: ctx.selfCodec.codecId, nullable: true }, + lowering: { + targetFamily: 'sql', + strategy: 'function', + // The operator form is canonical and structurally matches functional + // indexes on `eql_v3.ord_term(col -> selector)`. The explicit text cast + // prevents PostgreSQL from resolving the native jsonb accessor instead. + template: 'eql_v3.ord_term({{self}} -> {{arg0}}::text)', + }, + }) +} + +/** + * ASC sort over a scalar leaf in an encrypted JSON document. Missing paths + * produce SQL NULL and follow PostgreSQL's normal NULL ordering. + */ +export function eqlJsonPathAsc( + col: Expression, + path: string, +): OrderByItem { + return OrderByItem.asc( + jsonPathOrdTermExpression(col, path, 'eqlJsonPathAsc').buildAst(), + ) +} + +/** DESC counterpart to {@link eqlJsonPathAsc}. */ +export function eqlJsonPathDesc( + col: Expression, + path: string, +): OrderByItem { + return OrderByItem.desc( + jsonPathOrdTermExpression(col, path, 'eqlJsonPathDesc').buildAst(), + ) +} diff --git a/packages/prisma-next/test/live/operators-live-pg.test.ts b/packages/prisma-next/test/live/operators-live-pg.test.ts index 305c33205..43a140765 100644 --- a/packages/prisma-next/test/live/operators-live-pg.test.ts +++ b/packages/prisma-next/test/live/operators-live-pg.test.ts @@ -281,7 +281,7 @@ describeLivePg('v3 operators against live Postgres', () => { 3, ), ) - expect(level.sql).toContain('eql_v3.jsonb_path_query_first') + expect(level.sql).toContain('"payload" -> $1::text') expect(level.sql).toContain('::eql_v3.query_double_ord') expect(level.ids).toEqual(['zora']) }, 60_000) diff --git a/packages/prisma-next/test/v3/operator-lowering-v3-json.test.ts b/packages/prisma-next/test/v3/operator-lowering-v3-json.test.ts index fba52756d..e5c2be090 100644 --- a/packages/prisma-next/test/v3/operator-lowering-v3-json.test.ts +++ b/packages/prisma-next/test/v3/operator-lowering-v3-json.test.ts @@ -24,6 +24,8 @@ import { describe, expect, it } from 'vitest' import { EncryptedJson } from '../../src/execution/envelope-json' import { EncryptionOperatorError, + eqlJsonPathAsc, + eqlJsonPathDesc, v3QueryTermTypeOf, } from '../../src/v3/operators-v3' import { @@ -34,6 +36,7 @@ import { JSON_CODEC_ID, literalParamValue, makeV3Adapter, + selectWithOrderBy, selectWithWhere, TABLE, } from './operator-lowering-v3.helpers' @@ -154,7 +157,7 @@ describe('cipherstash v3 operator lowering — JSONPath selectors', () => { }) expect(lowered.sql).toContain( - 'eql_v3.gt(eql_v3.jsonb_path_query_first("user"."payload", $1::text), $2::eql_v3.query_double_ord)', + 'eql_v3.gt("user"."payload" -> $1::text, $2::eql_v3.query_double_ord)', ) const selector = literalParamValue(lowered.params[0]) as EncryptedJson const term = literalParamValue(lowered.params[1]) as EncryptedJson @@ -177,6 +180,31 @@ describe('cipherstash v3 operator lowering — JSONPath selectors', () => { expect(lowered.sql).toContain('$2::eql_v3.query_text_ord') }) + it('orders by the OPE term of an extracted selector entry', () => { + const col = columnAccessorV3(TABLE, 'payload', JSON_CODEC_ID) + const asc = eqlJsonPathAsc(col, 'profile.age') + const desc = eqlJsonPathDesc(col, '$.profile.age') + + const ascLowered = makeV3Adapter().lower(selectWithOrderBy([asc]), { + contract: contractV3, + }) + const descLowered = makeV3Adapter().lower(selectWithOrderBy([desc]), { + contract: contractV3, + }) + + expect(ascLowered.sql).toContain( + 'ORDER BY eql_v3.ord_term("user"."payload" -> $1::text) ASC', + ) + expect(descLowered.sql).toContain( + 'ORDER BY eql_v3.ord_term("user"."payload" -> $1::text) DESC', + ) + for (const lowered of [ascLowered, descLowered]) { + const selector = literalParamValue(lowered.params[0]) as EncryptedJson + expect(selector.expose().plaintext).toBe('$.profile.age') + expect(v3QueryTermTypeOf(selector)).toBe('steVecSelector') + } + }) + it('rejects malformed paths and non-orderable leaves before encryption', () => { const col = columnAccessorV3(TABLE, 'payload', JSON_CODEC_ID) expect(() => @@ -196,5 +224,8 @@ describe('cipherstash v3 operator lowering — JSONPath selectors', () => { Number.POSITIVE_INFINITY, ), ).toThrow(/JSON supports only finite numbers/) + expect(() => eqlJsonPathAsc(col, '$.a[0]')).toThrow( + /array\/wildcard syntax/, + ) }) }) diff --git a/packages/stack-drizzle/README.md b/packages/stack-drizzle/README.md index 22f3fede1..e78a27caf 100644 --- a/packages/stack-drizzle/README.md +++ b/packages/stack-drizzle/README.md @@ -55,6 +55,11 @@ const rows = await db const dec = await client.bulkDecryptModels(rows, schema) ``` +For a `types.Json` column, `ops.selector(column, path)` supports encrypted +comparisons and ordering at a scalar JSONPath leaf. For example, +`.orderBy(await ops.selector(users.profile, '$.age').asc())` lowers to +`ORDER BY eql_v3.ord_term(...)` over the selected encrypted entry. + ## EQL v2 (package root) — legacy The v2 integration predates the typed v3 domains and is kept for existing diff --git a/packages/stack-drizzle/__tests__/v3/operators.test.ts b/packages/stack-drizzle/__tests__/v3/operators.test.ts index 227959f4d..3a5ccc120 100644 --- a/packages/stack-drizzle/__tests__/v3/operators.test.ts +++ b/packages/stack-drizzle/__tests__/v3/operators.test.ts @@ -515,7 +515,7 @@ describe('createEncryptionOperatorsV3 - JSON selectors', () => { const q = render(await ops.selector(column, 'profile.age').gt(42)) expect(q.sql).toContain( - 'eql_v3.gt(eql_v3.jsonb_path_query_first("matrix_users"."eql_v3_json_search", $1::text), $2::eql_v3.query_double_ord)', + 'eql_v3.gt("matrix_users"."eql_v3_json_search" -> $1::text, $2::eql_v3.query_double_ord)', ) expect(q.params).toEqual(['selector-hash', JSON.stringify(ORDER_TERM)]) expect(encryptQuery.mock.calls.map((call) => call[1]?.queryType)).toEqual([ @@ -524,6 +524,26 @@ describe('createEncryptionOperatorsV3 - JSON selectors', () => { ]) }) + it('orders rows by the OPE term of an extracted selector entry', async () => { + const { ops, encryptQuery, render } = setup(() => 'selector-hash') + + const asc = render(await ops.selector(column, 'profile.age').asc()) + const desc = render(await ops.selector(column, '$.profile.age').desc()) + + expect(asc.sql).toContain( + 'eql_v3.ord_term("matrix_users"."eql_v3_json_search" -> $1::text) asc', + ) + expect(desc.sql).toContain( + 'eql_v3.ord_term("matrix_users"."eql_v3_json_search" -> $1::text) desc', + ) + expect(asc.params).toEqual(['selector-hash']) + expect(desc.params).toEqual(['selector-hash']) + expect(encryptQuery.mock.calls.map((call) => call[1]?.queryType)).toEqual([ + 'steVecSelector', + 'steVecSelector', + ]) + }) + it('uses the text query domain and rejects non-JSON scalar leaves', async () => { const { ops, render } = setup((value) => typeof value === 'string' && value.startsWith('$.') diff --git a/packages/stack-drizzle/__tests__/v3/sql-dialect.test.ts b/packages/stack-drizzle/__tests__/v3/sql-dialect.test.ts index ba76f7270..42feef81a 100644 --- a/packages/stack-drizzle/__tests__/v3/sql-dialect.test.ts +++ b/packages/stack-drizzle/__tests__/v3/sql-dialect.test.ts @@ -58,6 +58,12 @@ describe('v3Dialect', () => { expect(render(v3Dialect.orderBy(col))).toBe('eql_v3.ord_term("users"."x")') }) + it('selectorEntry uses the typed -> form required by functional indexes', () => { + expect(render(v3Dialect.selectorEntry(col, sql`${'selector'}::text`))).toBe( + '"users"."x" -> $1::text', + ) + }) + // `render` above discards `.params`, so nothing here proved a value was BOUND // rather than concatenated into the SQL text. The only `sql.raw` in the // dialect interpolates constants (the schema + function name), so no @@ -69,6 +75,10 @@ describe('v3Dialect', () => { ['equality', () => v3Dialect.equality('eq', col, sql`${hostile}`)], ['comparison', () => v3Dialect.comparison('gte', col, sql`${hostile}`)], ['contains', () => v3Dialect.contains(col, sql`${hostile}`)], + [ + 'selectorEntry', + () => v3Dialect.selectorEntry(col, sql`${hostile}::text`), + ], // `$1` in a title is consumed by vitest as an index into the case tuple, // so it cannot be used to name the SQL placeholder here. ])('%s binds a hostile operand as a positional parameter', (_name, build) => { diff --git a/packages/stack-drizzle/integration/json-adapter.ts b/packages/stack-drizzle/integration/json-adapter.ts new file mode 100644 index 000000000..181b98fb5 --- /dev/null +++ b/packages/stack-drizzle/integration/json-adapter.ts @@ -0,0 +1,117 @@ +import { EncryptionV3 } from '@cipherstash/stack/v3' +import { + databaseUrl, + type JsonIntegrationAdapter, + type JsonQueryOp, + type JsonTableSpec, + unwrapResult, +} from '@cipherstash/test-kit' +import { asc, type SQL } from 'drizzle-orm' +import { type PgTable, pgTable, text } from 'drizzle-orm/pg-core' +import { drizzle } from 'drizzle-orm/postgres-js' +import postgres from 'postgres' +import { + createEncryptionOperatorsV3, + extractEncryptionSchemaV3, + types, +} from '../src/v3/index.js' + +// biome-ignore lint/suspicious/noExplicitAny: the table name is supplied by the shared suite at runtime +type AnyTable = any + +/** Drizzle implementation of the shared live encrypted-JSON contract. */ +export function makeDrizzleJsonAdapter(): JsonIntegrationAdapter { + let sqlClient: postgres.Sql + let db: ReturnType + let tableName: string + let table: AnyTable + let client: Awaited> + let ops: ReturnType + + const rowsFor = async ( + where: SQL | undefined, + orderBy: readonly SQL[] = [asc(table.rowKey)], + ): Promise => { + const rows = (await db + .select({ rowKey: table.rowKey }) + .from(table as PgTable) + .where(where) + .orderBy(...orderBy)) as Array<{ rowKey: string }> + return rows.map((row) => row.rowKey) + } + + const selectorCondition = async ( + op: Extract, + ): Promise => { + const selector = ops.selector(table.document, op.path) + switch (op.comparison) { + case 'eq': + return selector.eq(op.value) + case 'ne': + return selector.ne(op.value) + case 'gt': + return selector.gt(op.value) + case 'gte': + return selector.gte(op.value) + case 'lt': + return selector.lt(op.value) + case 'lte': + return selector.lte(op.value) + } + } + + return { + name: 'drizzle', + + async setup(spec: JsonTableSpec) { + tableName = spec.name + sqlClient = postgres(databaseUrl(), { prepare: false }) + db = drizzle({ client: sqlClient }) + table = pgTable(spec.name, { + rowKey: text('row_key').primaryKey(), + document: types.Json('document'), + }) + const schema = extractEncryptionSchemaV3(table) + client = await EncryptionV3({ schemas: [schema] }) + ops = createEncryptionOperatorsV3(client) + + await sqlClient.unsafe(`DROP TABLE IF EXISTS ${tableName}`) + await sqlClient.unsafe(` + CREATE TABLE ${tableName} ( + row_key TEXT PRIMARY KEY, + document public.eql_v3_json_search NOT NULL + ) + `) + + const encrypted = unwrapResult( + await client.bulkEncryptModels( + spec.rows.map((row) => ({ + rowKey: row.rowKey, + document: row.document, + })), + schema, + ), + ) + await db.insert(table as PgTable).values(encrypted as never) + }, + + async teardown() { + if (tableName) await sqlClient.unsafe(`DROP TABLE IF EXISTS ${tableName}`) + await sqlClient.end() + }, + + async run(op: JsonQueryOp): Promise { + if (op.kind === 'contains') { + return rowsFor(await ops.contains(table.document, op.value)) + } + if (op.kind === 'selector') { + return rowsFor(await selectorCondition(op)) + } + + const selector = ops.selector(table.document, op.path) + const term = + op.direction === 'asc' ? await selector.asc() : await selector.desc() + return rowsFor(undefined, [term as SQL, asc(table.rowKey)]) + }, + } +} diff --git a/packages/stack-drizzle/integration/json-contains.integration.test.ts b/packages/stack-drizzle/integration/json-contains.integration.test.ts deleted file mode 100644 index cc05283dc..000000000 --- a/packages/stack-drizzle/integration/json-contains.integration.test.ts +++ /dev/null @@ -1,126 +0,0 @@ -/** - * Live JSON containment for the v3 `types.Json()` column through the Drizzle - * operators. Seeds encrypted JSONB documents and queries them with - * `ops.contains(col, subObject)` — EXACT containment (distinct from the fuzzy - * `ops.matches` used for text search). On a `json` column it emits the `@>` - * operator over the encrypted JSONB document (json has no `eql_v3.matches` - * overload) with a `query_json` needle from `encryptQuery` — asserting it - * returns exactly the rows whose document contains the sub-object (jsonb `@>` - * semantics), and excludes the rest. - */ - -import type { JsonDocument } from '@cipherstash/stack/eql/v3' -import { EncryptionV3 } from '@cipherstash/stack/v3' -import { databaseUrl, unwrapResult } from '@cipherstash/test-kit' -import { and, asc, eq, type SQL } from 'drizzle-orm' -import { integer, pgTable, text } from 'drizzle-orm/pg-core' -import { drizzle } from 'drizzle-orm/postgres-js' -import postgres from 'postgres' -import { afterAll, beforeAll, describe, expect, it } from 'vitest' -import { - createEncryptionOperatorsV3, - extractEncryptionSchemaV3, - types, -} from '../src/v3/index.js' - -const sqlClient = postgres(databaseUrl(), { prepare: false }) - -const TABLE_NAME = 'protect_ci_v3_json_contains' -const RUN = `run-${Date.now()}-${Math.random().toString(36).slice(2, 8)}` - -const docTable = pgTable(TABLE_NAME, { - id: integer('id').primaryKey().generatedAlwaysAsIdentity(), - rowKey: text('row_key').notNull(), - testRunId: text('test_run_id').notNull(), - doc: types.Json('doc'), -}) - -const schema = extractEncryptionSchemaV3(docTable) - -// Distinct documents so each containment query has a definite expected set. -const DOCS: Record = { - ada: { user: 'ada@example.com', roles: ['admin', 'eng'], active: true }, - grace: { user: 'grace@example.com', roles: ['eng'] }, - zoe: { user: 'zoe@example.com', roles: ['ops'], active: false }, -} - -type SelectRow = { rowKey: string } -let client: Awaited> -let ops: ReturnType -let db: ReturnType - -async function matching(condition: SQL): Promise { - const rows = (await db - .select({ rowKey: docTable.rowKey }) - .from(docTable) - .where(and(eq(docTable.testRunId, RUN), condition)) - .orderBy(asc(docTable.rowKey))) as SelectRow[] - return rows.map((row) => row.rowKey) -} - -beforeAll(async () => { - // EQL v3 is installed once per run by `global-setup.ts`. - client = await EncryptionV3({ schemas: [schema] }) - ops = createEncryptionOperatorsV3(client) - db = drizzle({ client: sqlClient }) - - await sqlClient.unsafe(`DROP TABLE IF EXISTS ${TABLE_NAME}`) - await sqlClient.unsafe(` - CREATE TABLE ${TABLE_NAME} ( - id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY, - row_key TEXT NOT NULL, - test_run_id TEXT NOT NULL, - doc public.eql_v3_json_search NOT NULL - ) - `) - - const rows = Object.entries(DOCS).map(([rowKey, doc]) => ({ - rowKey, - testRunId: RUN, - doc, - })) - const encrypted = unwrapResult( - await client.bulkEncryptModels(rows, schema), - ) as Array> - await db.insert(docTable).values(encrypted as never) -}, 120000) - -afterAll(async () => { - await sqlClient`DELETE FROM ${sqlClient(TABLE_NAME)} WHERE test_run_id = ${RUN}` - await sqlClient.end() -}, 30000) - -describe('v3 drizzle JSON containment (live pg)', () => { - it('matches every document containing a sub-object (array element containment)', async () => { - // `{ roles: ['eng'] }` ⊆ ada (admin,eng) and grace (eng), not zoe (ops). - const condition = await ops.contains(docTable.doc, { roles: ['eng'] }) - expect(await matching(condition)).toEqual(['ada', 'grace']) - }, 30000) - - it('matches on a scalar field', async () => { - const condition = await ops.contains(docTable.doc, { - user: 'zoe@example.com', - }) - expect(await matching(condition)).toEqual(['zoe']) - }, 30000) - - it('matches on a nested boolean', async () => { - const condition = await ops.contains(docTable.doc, { active: true }) - expect(await matching(condition)).toEqual(['ada']) - }, 30000) - - it('returns nothing for a sub-object no document contains', async () => { - const condition = await ops.contains(docTable.doc, { roles: ['nope'] }) - expect(await matching(condition)).toEqual([]) - }, 30000) - - // `doc @> '{}'` holds for every row (jsonb `{} ⊆ anything`), so an empty-object - // needle would silently return the whole table — the same whole-table footgun - // the bloom path rejects. The operator must refuse it before querying, rather - // than leak every row. - it('rejects an empty-object needle before querying', async () => { - await expect(ops.contains(docTable.doc, {})).rejects.toThrow( - /matches every row/, - ) - }, 30000) -}) diff --git a/packages/stack-drizzle/integration/json-selector.integration.test.ts b/packages/stack-drizzle/integration/json-selector.integration.test.ts deleted file mode 100644 index fc9d773b0..000000000 --- a/packages/stack-drizzle/integration/json-selector.integration.test.ts +++ /dev/null @@ -1,165 +0,0 @@ -/** - * Live JSONPath selector-with-constraint for the v3 `types.Json()` column (#623). - * Distinct from containment (`ops.contains`, `@>`): this extracts the encrypted - * leaf entry at a JSONPath and compares it, so it can express ORDERING at a path - * (`col->'$.age' > 25`) that containment cannot. Equality uses exact - * value-selector containment; ordering compares the extracted entry with a - * ciphertext-free scalar query term. - */ - -import type { JsonDocument } from '@cipherstash/stack/eql/v3' -import { EncryptionV3 } from '@cipherstash/stack/v3' -import { databaseUrl, unwrapResult } from '@cipherstash/test-kit' -import { and, asc, eq, type SQL } from 'drizzle-orm' -import { integer, pgTable, text } from 'drizzle-orm/pg-core' -import { drizzle } from 'drizzle-orm/postgres-js' -import postgres from 'postgres' -import { afterAll, beforeAll, describe, expect, it } from 'vitest' -import { - createEncryptionOperatorsV3, - extractEncryptionSchemaV3, - types, -} from '../src/v3/index.js' - -const sqlClient = postgres(databaseUrl(), { prepare: false }) - -const TABLE_NAME = 'protect_ci_v3_json_selector' -const RUN = `run-${Date.now()}-${Math.random().toString(36).slice(2, 8)}` - -const docTable = pgTable(TABLE_NAME, { - id: integer('id').primaryKey().generatedAlwaysAsIdentity(), - rowKey: text('row_key').notNull(), - testRunId: text('test_run_id').notNull(), - doc: types.Json('doc'), -}) - -const schema = extractEncryptionSchemaV3(docTable) - -// Distinct ages so ordering-at-a-selector has a definite expected set. -const DOCS: Record = { - ada: { user: 'ada@example.com', age: 30 }, - grace: { user: 'grace@example.com', age: 20 }, - zoe: { user: 'zoe@example.com', age: 40 }, - // No `$.age` — exercises absent-path semantics (excluded by eq/ordering, - // included by ne). - noage: { user: 'noage@example.com' }, -} - -type SelectRow = { rowKey: string } -let client: Awaited> -let ops: ReturnType -let db: ReturnType - -async function matching(condition: SQL): Promise { - const rows = (await db - .select({ rowKey: docTable.rowKey }) - .from(docTable) - .where(and(eq(docTable.testRunId, RUN), condition)) - .orderBy(asc(docTable.rowKey))) as SelectRow[] - return rows.map((row) => row.rowKey) -} - -beforeAll(async () => { - client = await EncryptionV3({ schemas: [schema] }) - ops = createEncryptionOperatorsV3(client) - db = drizzle({ client: sqlClient }) - - await sqlClient.unsafe(`DROP TABLE IF EXISTS ${TABLE_NAME}`) - await sqlClient.unsafe(` - CREATE TABLE ${TABLE_NAME} ( - id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY, - row_key TEXT NOT NULL, - test_run_id TEXT NOT NULL, - doc public.eql_v3_json_search NOT NULL - ) - `) - - const rows = Object.entries(DOCS).map(([rowKey, doc]) => ({ - rowKey, - testRunId: RUN, - doc, - })) - const encrypted = unwrapResult( - await client.bulkEncryptModels(rows, schema), - ) as Array> - await db.insert(docTable).values(encrypted as never) -}, 120000) - -afterAll(async () => { - await sqlClient`DELETE FROM ${sqlClient(TABLE_NAME)} WHERE test_run_id = ${RUN}` - await sqlClient.end() -}, 30000) - -describe('v3 drizzle JSON selector-with-constraint (live pg)', () => { - it('equality at a scalar selector', async () => { - expect( - await matching(await ops.selector(docTable.doc, '$.age').eq(30)), - ).toEqual(['ada']) - }, 30000) - - it('equality at a string selector', async () => { - const condition = await ops - .selector(docTable.doc, '$.user') - .eq('zoe@example.com') - expect(await matching(condition)).toEqual(['zoe']) - }, 30000) - - it('ordering at a selector: greater-than (the form containment cannot express)', async () => { - // ages: ada 30, grace 20, zoe 40 → > 25 selects ada, zoe. - expect( - await matching(await ops.selector(docTable.doc, '$.age').gt(25)), - ).toEqual(['ada', 'zoe']) - }, 30000) - - it('ordering at a selector: less-than', async () => { - expect( - await matching(await ops.selector(docTable.doc, '$.age').lt(35)), - ).toEqual(['ada', 'grace']) - }, 30000) - - it('ordering at a selector: gte inclusive boundary', async () => { - expect( - await matching(await ops.selector(docTable.doc, '$.age').gte(30)), - ).toEqual(['ada', 'zoe']) - }, 30000) - - it('returns nothing when no leaf satisfies the constraint', async () => { - expect( - await matching(await ops.selector(docTable.doc, '$.age').gt(100)), - ).toEqual([]) - }, 30000) - - it('equality excludes rows whose document lacks the path', async () => { - // `noage` has no `$.age`, so it is not equal to 30 → excluded. - expect( - await matching(await ops.selector(docTable.doc, '$.age').eq(30)), - ).toEqual(['ada']) - }, 30000) - - it('ne includes rows whose document lacks the path', async () => { - // ne(30): grace(20), zoe(40), AND noage (no `$.age`) — "not equal to 30" - // covers "has no age". Without the IS NULL arm, noage would be dropped. - expect( - await matching(await ops.selector(docTable.doc, '$.age').ne(30)), - ).toEqual(['grace', 'noage', 'zoe']) - }, 30000) - - it('ordering excludes rows whose document lacks the path', async () => { - // noage has no age → not > 0. - expect( - await matching(await ops.selector(docTable.doc, '$.age').gt(0)), - ).toEqual(['ada', 'grace', 'zoe']) - }, 30000) - - it('rejects a non-scalar leaf value before querying', async () => { - await expect( - ops.selector(docTable.doc, '$.age').eq({ nested: 1 }), - ).rejects.toThrow(/scalar leaf/) - }, 30000) - - it('rejects array/wildcard selector paths (v1 supports object keys only)', async () => { - await expect( - ops.selector(docTable.doc, '$.items[0].name').eq('x'), - ).rejects.toThrow(/not yet supported/) - }, 30000) -}) diff --git a/packages/stack-drizzle/integration/json.integration.test.ts b/packages/stack-drizzle/integration/json.integration.test.ts new file mode 100644 index 000000000..2bf069ae7 --- /dev/null +++ b/packages/stack-drizzle/integration/json.integration.test.ts @@ -0,0 +1,4 @@ +import { runJsonSuite } from '@cipherstash/test-kit/json-suite' +import { makeDrizzleJsonAdapter } from './json-adapter' + +runJsonSuite(makeDrizzleJsonAdapter) diff --git a/packages/stack-drizzle/src/v3/operators.ts b/packages/stack-drizzle/src/v3/operators.ts index a61fd86aa..f2e113855 100644 --- a/packages/stack-drizzle/src/v3/operators.ts +++ b/packages/stack-drizzle/src/v3/operators.ts @@ -728,9 +728,75 @@ export function createEncryptionOperatorsV3( lt: at('lt'), /** `col->'path' <= value`. */ lte: at('lte'), + /** Order rows ascending by the encrypted scalar at `path`. Missing paths + * produce SQL NULL and follow PostgreSQL's normal NULL ordering. */ + asc: (opts?: EncryptionOperatorCallOpts) => + selectorOrder(col, path, 'asc', opts), + /** Order rows descending by the encrypted scalar at `path`. Missing paths + * produce SQL NULL and follow PostgreSQL's normal NULL ordering. */ + desc: (opts?: EncryptionOperatorCallOpts) => + selectorOrder(col, path, 'desc', opts), } } + /** Build `ORDER BY eql_v3.ord_term(col -> selector::text)`. + * The selector is encrypted, but the extracted SteVec entry already carries + * its OPE ordering term, so no plaintext comparison operand is needed. */ + async function selectorOrder( + col: SQLWrapper, + path: string, + direction: 'asc' | 'desc', + opts?: EncryptionOperatorCallOpts, + ): Promise { + const operator = `selector(${path}).${direction}` + const ctx = resolveContext(col, operator) + requireIndex( + ctx, + JSON_CONTAINMENT_INDEXES, + operator, + 'JSON selector (searchableJson)', + ) + + let canonicalPath: string + try { + canonicalPath = jsonPathOf(parseSelectorSegments(path)) + } catch (err) { + throw new EncryptionOperatorError( + `Operator "${operator}" on column "${ctx.columnName}": ${err instanceof Error ? err.message : String(err)}`, + { columnName: ctx.columnName, tableName: ctx.tableName, operator }, + ) + } + + const result = await applyOperationOptions( + client.encryptQuery( + canonicalPath as never, + { + table: ctx.table, + column: ctx.builder, + queryType: 'steVecSelector', + } as never, + ), + opts, + ) + if (result.failure) { + throw operandFailure(ctx, operator, result.failure.message) + } + if (typeof result.data !== 'string') { + throw operandFailure( + ctx, + operator, + `expected a bare selector hash, got ${typeof result.data}.`, + ) + } + + const entry = v3Dialect.selectorEntry( + colSql(col), + sql`${result.data}::text`, + ) + const term = v3Dialect.orderBy(entry, 'ope') + return direction === 'asc' ? asc(term) : desc(term) + } + async function inArrayOp( left: SQLWrapper, values: unknown[], @@ -835,11 +901,12 @@ export function createEncryptionOperatorsV3( contains: (l: SQLWrapper, r: unknown, opts?: EncryptionOperatorCallOpts) => containsJsonOp(l, r, 'contains', opts), /** JSONPath selector-with-constraint on a `types.Json` (`ste_vec`) column. - * Returns comparison methods bound to `col->'path'` — e.g. + * Returns comparison and ordering methods bound to `col->'path'` — e.g. * `await ops.selector(users.doc, '$.age').gt(21)` emits - * `col->'' > `. Its unique power over `contains` is ORDERING at - * a path (`gt`/`gte`/`lt`/`lte`); `eq`/`ne` are also provided. Dot-notation - * object paths only in v1. */ + * `col->'' > `, while `.asc()` emits + * `ORDER BY eql_v3.ord_term(col->'')`. Its unique power over `contains` + * is ordering at a path (`gt`/`gte`/`lt`/`lte` and `asc`/`desc`); `eq`/`ne` + * are also provided. Dot-notation object paths only in v1. */ selector: (l: SQLWrapper, path: string) => selectorOps(l, path), /** Membership: ORs one encrypted `eq` term per value. The whole list is * encrypted in one `encryptQuery` batch crossing. Rejects an empty list; diff --git a/packages/stack-drizzle/src/v3/sql-dialect.ts b/packages/stack-drizzle/src/v3/sql-dialect.ts index db1c7e0ba..6ee7b116e 100644 --- a/packages/stack-drizzle/src/v3/sql-dialect.ts +++ b/packages/stack-drizzle/src/v3/sql-dialect.ts @@ -66,7 +66,10 @@ export const v3Dialect = { /** Extract the encrypted JSON leaf entry addressed by a selector hash. */ selectorEntry(source: SQL, selector: SQL): SQL { - return sql`${fn('jsonb_path_query_first')}(${source}, ${selector})` + // Keep the canonical operator shape: functional indexes are defined over + // `eql_v3.ord_term(col -> selector)`. The RHS is explicitly `text` upstream + // so PostgreSQL selects EQL's encrypted-JSON accessor, not native jsonb `->`. + return sql`${source} -> ${selector}` }, orderBy(left: SQL, flavour: 'ope' | 'ore'): SQL { diff --git a/packages/test-kit/package.json b/packages/test-kit/package.json index 14fe49815..63dabe047 100644 --- a/packages/test-kit/package.json +++ b/packages/test-kit/package.json @@ -8,6 +8,7 @@ "./integration-clerk": "./src/integration/clerk.ts", ".": "./src/index.ts", "./catalog": "./src/catalog.ts", + "./json-suite": "./src/run-json-suite.ts", "./suite": "./src/run-family-suite.ts" }, "scripts": { diff --git a/packages/test-kit/src/catalog.ts b/packages/test-kit/src/catalog.ts index bb52e9acd..21935994f 100644 --- a/packages/test-kit/src/catalog.ts +++ b/packages/test-kit/src/catalog.ts @@ -670,7 +670,7 @@ export const V3_MATRIX = { // Encrypted JSONB document. Excluded from the SCALAR family driver (that is // what `deferred` marks here) — NOT unimplemented: JSON is fully covered by - // its own live suites (`json-crypto`, `json-contains`). It is queried by + // its own live suites (`json-crypto` and the shared adapter JSON suite). It is queried by // containment (the `@>` operator), not the eq/ord/match ops the scalar oracle // models, so `runFamilySuite` cannot exercise it. The row still pins the built // shape (`cast_as: 'json'` + the encrypted-JSONB index) and carries @@ -697,7 +697,7 @@ export const V3_MATRIX = { { user: 'grace@example.com', roles: ['eng'] }, ], deferred: - 'json is covered by dedicated live suites (json-crypto, json-contains), ' + + 'json is covered by dedicated live suites (json-crypto and the shared adapter JSON suite), ' + 'not the scalar op-matrix: it is queried by containment, not eq/ord/match', }, } as const satisfies Record diff --git a/packages/test-kit/src/families.ts b/packages/test-kit/src/families.ts index a27962cab..c4a4e5197 100644 --- a/packages/test-kit/src/families.ts +++ b/packages/test-kit/src/families.ts @@ -50,7 +50,7 @@ const FAMILY_PREFIXES: Readonly> = { // `json` is here only for coverage accounting — its one domain (`eql_v3_json_search`) // is marked `deferred`, meaning "not run by the scalar op-matrix", because JSON // is queried by containment (`@>`), not the eq/ord/match ops the oracle models. - // It is NOT unimplemented: dedicated live suites (`json-crypto`, `json-contains`) + // It is NOT unimplemented: dedicated live suites (`json-crypto` and the shared adapter JSON suite) // cover it. (Contrast the ORE domains, also `deferred` but because their opclass // is superuser-only and cannot run on managed Postgres.) json: ['json'], diff --git a/packages/test-kit/src/index.ts b/packages/test-kit/src/index.ts index 8b359f78e..28017b6bb 100644 --- a/packages/test-kit/src/index.ts +++ b/packages/test-kit/src/index.ts @@ -42,6 +42,13 @@ export { type FamilyName, } from './families.ts' export { type DbVariant, dbVariant, installEqlV3 } from './install.ts' +export type { + JsonIntegrationAdapter, + JsonQueryOp, + JsonScalar, + JsonSeedRow, + JsonTableSpec, +} from './json-adapter.ts' export { needleFor } from './needle-for.ts' export { negativeOps, diff --git a/packages/test-kit/src/json-adapter.ts b/packages/test-kit/src/json-adapter.ts new file mode 100644 index 000000000..b5cc69535 --- /dev/null +++ b/packages/test-kit/src/json-adapter.ts @@ -0,0 +1,42 @@ +import type { JsonDocument } from '@cipherstash/stack/eql/v3' + +export type JsonScalar = string | number | boolean + +export type JsonQueryOp = + | { readonly kind: 'contains'; readonly value: JsonDocument } + | { + readonly kind: 'selector' + readonly comparison: 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte' + readonly path: string + readonly value: unknown + } + | { + readonly kind: 'selectorOrder' + readonly path: string + readonly direction: 'asc' | 'desc' + } + +export type JsonSeedRow = Readonly<{ + rowKey: string + document: JsonDocument +}> + +export type JsonTableSpec = Readonly<{ + name: string + rows: readonly JsonSeedRow[] +}> + +/** + * Adapter seam for the shared encrypted-JSON integration suite. + * + * Drizzle and Prisma Next implement the same containment, selector-comparison, + * and selector-ordering contract through their public surfaces. Supabase is + * deliberately absent: EQL 3.0.2 typed JSON query operands cannot be expressed + * through PostgREST, and its dedicated boundary suite asserts that rejection. + */ +export interface JsonIntegrationAdapter { + readonly name: 'drizzle' | 'prisma-next' + setup(table: JsonTableSpec): Promise + teardown(): Promise + run(op: JsonQueryOp): Promise +} diff --git a/packages/test-kit/src/ops.ts b/packages/test-kit/src/ops.ts index b95a1b35d..f323c66e9 100644 --- a/packages/test-kit/src/ops.ts +++ b/packages/test-kit/src/ops.ts @@ -58,8 +58,8 @@ const OPS_BY_CAPABILITY = { orderAndRange: ['gt', 'gte', 'lt', 'lte', 'between', 'notBetween', 'order'], freeTextSearch: ['matches'], // json domains are `deferred` from this driver (ste_vec doesn't fit the scalar - // oracle) and covered by a dedicated suite (`json-contains`, which calls the - // adapter's exact `contains()` directly), so this entry only satisfies the + // oracle) and covered by the shared adapter JSON suite, which calls each + // adapter's exact containment and selector surfaces, so this entry only satisfies the // capability-keyed type — it gates no matrix run. `matches` is a placeholder. searchableJson: ['matches'], } as const satisfies Record diff --git a/packages/test-kit/src/run-family-suite.ts b/packages/test-kit/src/run-family-suite.ts index 6cca1ca2e..3f24b6238 100644 --- a/packages/test-kit/src/run-family-suite.ts +++ b/packages/test-kit/src/run-family-suite.ts @@ -153,8 +153,8 @@ export function runFamilySuite( // A family whose every domain is deferred (e.g. `json`: containment queries // don't fit the scalar oracle this driver runs). It carries no op-matrix - // coverage here — its real coverage lives in dedicated suites (`json-crypto`, - // `json-contains`). Emit one assertion documenting the deferral so the family + // coverage here — its real coverage lives in dedicated suites (`json-crypto` + // and the shared adapter JSON suite). Emit one assertion documenting the deferral so the family // stays visible and is not a silent skip, rather than letting `planTable` throw // on an empty column set. A family with NO domains at all (covered or deferred) // is a wiring bug and still falls through to that throw. diff --git a/packages/test-kit/src/run-json-suite.ts b/packages/test-kit/src/run-json-suite.ts new file mode 100644 index 000000000..888780a29 --- /dev/null +++ b/packages/test-kit/src/run-json-suite.ts @@ -0,0 +1,199 @@ +import type { JsonDocument } from '@cipherstash/stack/eql/v3' +import { afterAll, beforeAll, describe, expect, it } from 'vitest' +import type { + JsonIntegrationAdapter, + JsonQueryOp, + JsonSeedRow, +} from './json-adapter.ts' + +const DOCUMENTS = { + ada: { + user: 'ada@example.com', + roles: ['admin', 'eng'], + active: true, + age: 30, + }, + grace: { user: 'grace@example.com', roles: ['eng'], age: 20 }, + zoe: { + user: 'zoe@example.com', + roles: ['ops'], + active: false, + age: 40, + }, + // No `$.age`: comparisons exclude it except `ne`; ORDER BY observes the + // extracted SQL NULL using PostgreSQL's default NULL placement. + noage: { user: 'noage@example.com', roles: ['ops'] }, +} as const satisfies Record + +const ROWS: readonly JsonSeedRow[] = Object.entries(DOCUMENTS).map( + ([rowKey, document]) => ({ rowKey, document }), +) + +/** + * Shared live-PG contract for every first-party adapter that can express EQL + * v3 typed JSON query operands. Keeping the assertions here prevents Drizzle + * and Prisma Next from quietly claiming different JSON coverage. + */ +export function runJsonSuite(makeAdapter: () => JsonIntegrationAdapter): void { + const adapter = makeAdapter() + const runId = Math.random().toString(36).slice(2, 8) + + describe(`v3 ${adapter.name} — encrypted JSON`, () => { + beforeAll(async () => { + await adapter.setup({ + name: `v3_it_json_${adapter.name.replace('-', '_')}_${runId}`, + rows: ROWS, + }) + }, 300_000) + + afterAll(async () => { + await adapter.teardown() + }) + + const expectRows = async (op: JsonQueryOp, expected: string[]) => { + const rows = await adapter.run(op) + expect([...rows].sort()).toEqual([...expected].sort()) + } + + describe('containment', () => { + it('matches array-element containment', async () => { + await expectRows({ kind: 'contains', value: { roles: ['eng'] } }, [ + 'ada', + 'grace', + ]) + }) + + it('matches scalar and boolean fields exactly', async () => { + await expectRows( + { kind: 'contains', value: { user: 'zoe@example.com' } }, + ['zoe'], + ) + await expectRows({ kind: 'contains', value: { active: true } }, ['ada']) + }) + + it('returns no rows for an absent sub-document', async () => { + await expectRows({ kind: 'contains', value: { roles: ['nope'] } }, []) + }) + + it('rejects an empty object instead of matching every document', async () => { + await expect( + adapter.run({ kind: 'contains', value: {} }), + ).rejects.toThrow(/matches every row/) + }) + }) + + describe('selector comparisons', () => { + it('matches exact numeric and string leaves', async () => { + await expectRows( + { + kind: 'selector', + comparison: 'eq', + path: '$.age', + value: 30, + }, + ['ada'], + ) + await expectRows( + { + kind: 'selector', + comparison: 'eq', + path: '$.user', + value: 'zoe@example.com', + }, + ['zoe'], + ) + }) + + it.each([ + ['gt', 25, ['ada', 'zoe']], + ['lt', 35, ['ada', 'grace']], + ['gte', 30, ['ada', 'zoe']], + ['gt', 100, []], + ] as const)('%s(%s) matches the plaintext oracle', async (comparison, value, expected) => { + await expectRows( + { kind: 'selector', comparison, path: '$.age', value }, + [...expected], + ) + }) + + it('uses explicit absent-path semantics', async () => { + await expectRows( + { + kind: 'selector', + comparison: 'eq', + path: '$.age', + value: 30, + }, + ['ada'], + ) + await expectRows( + { + kind: 'selector', + comparison: 'ne', + path: '$.age', + value: 30, + }, + ['grace', 'noage', 'zoe'], + ) + await expectRows( + { + kind: 'selector', + comparison: 'gt', + path: '$.age', + value: 0, + }, + ['ada', 'grace', 'zoe'], + ) + }) + + it('rejects non-scalar leaves and unsupported paths', async () => { + await expect( + adapter.run({ + kind: 'selector', + comparison: 'eq', + path: '$.age', + value: { nested: 1 }, + }), + ).rejects.toThrow(/scalar leaf/) + await expect( + adapter.run({ + kind: 'selector', + comparison: 'eq', + path: '$.items[0].name', + value: 'x', + }), + ).rejects.toThrow(/not yet supported|array\/wildcard syntax/) + }) + }) + + describe('selector ordering', () => { + it('orders by eql_v3.ord_term of the selected entry', async () => { + expect( + await adapter.run({ + kind: 'selectorOrder', + path: '$.age', + direction: 'asc', + }), + ).toEqual(['grace', 'ada', 'zoe', 'noage']) + + expect( + await adapter.run({ + kind: 'selectorOrder', + path: '$.age', + direction: 'desc', + }), + ).toEqual(['noage', 'zoe', 'ada', 'grace']) + }) + + it('rejects unsupported selector paths before querying', async () => { + await expect( + adapter.run({ + kind: 'selectorOrder', + path: '$.items[0].age', + direction: 'asc', + }), + ).rejects.toThrow(/not yet supported|array\/wildcard syntax/) + }) + }) + }) +} diff --git a/skills/stash-drizzle/SKILL.md b/skills/stash-drizzle/SKILL.md index 29722d9b0..8542b81c7 100644 --- a/skills/stash-drizzle/SKILL.md +++ b/skills/stash-drizzle/SKILL.md @@ -143,7 +143,7 @@ const encryptionClient = await EncryptionV3({ const ops = createEncryptionOperatorsV3(encryptionClient) ``` -`createEncryptionOperatorsV3(client, { lockContext, audit })` optionally sets defaults applied to every operand encryption; the async encrypting operators (`eq`, `ne`, `inArray`, `notInArray`, `gt`/`gte`/`lt`/`lte`, `between`/`notBetween`, `matches`, `contains`, and the comparison methods returned by `selector(...)`) also take an optional trailing `{ lockContext, audit }` argument per call. `asc`/`desc` and the passthrough operators (`isNull`, `isNotNull`, `not`, `and`, `or`, `exists`, `notExists`) encrypt nothing and take no such argument. +`createEncryptionOperatorsV3(client, { lockContext, audit })` optionally sets defaults applied to every operand encryption; the async encrypting operators (`eq`, `ne`, `inArray`, `notInArray`, `gt`/`gte`/`lt`/`lte`, `between`/`notBetween`, `matches`, `contains`, and all methods returned by `selector(...)`) also take an optional trailing `{ lockContext, audit }` argument per call. Top-level `asc`/`desc` and the passthrough operators (`isNull`, `isNotNull`, `not`, `and`, `or`, `exists`, `notExists`) encrypt nothing and take no such argument. ### 4. Create Drizzle Instance @@ -287,14 +287,21 @@ const results = await db .select() .from(usersTable) .where(await ops.selector(usersTable.profile, "$.user").eq("zoe@example.com")) + +// ORDER BY eql_v3.ord_term of the encrypted leaf at $.age +const ordered = await db + .select() + .from(usersTable) + .orderBy(await ops.selector(usersTable.profile, "$.age").asc()) ``` -Available methods: `.eq`, `.ne`, `.gt`, `.gte`, `.lt`, `.lte`. Rules: +Available methods: `.eq`, `.ne`, `.gt`, `.gte`, `.lt`, `.lte`, `.asc`, `.desc`. Rules: - **Paths are dot-notation object keys only** (`"$.a.b"`). Array-index and wildcard syntax (`$.items[0]`) is rejected. - **Leaves are JSON scalars only**: `string`, `number`, or `boolean`. An object or array leaf is rejected — use `contains` for sub-object matching. A `boolean` leaf is rejected under the ordering methods (booleans have no ordering). Serialize `Date`/`bigint` to the representation actually stored in the JSON document. - **A scalar needle does not match an array at the path.** `selector(col, "$.tags").eq("a")` will not match `{ tags: ["a"] }` — use `contains(col, { tags: ["a"] })` for that. - **Absent-path semantics:** `eq` and the ordering methods exclude rows whose document lacks the path; `ne` **includes** them ("not equal to X" covers "has no X"). +- **ORDER BY absent paths are SQL NULL.** PostgreSQL's normal NULL placement applies (`ASC` puts them last; `DESC` puts them first unless the query overrides NULL placement). - **No ciphertext in selector predicates.** Equality uses a value-selector containment needle (and can use the functional GIN index); ordering uses a selector hash plus a ciphertext-free scalar query term. ### Batched Conditions (and / or) @@ -598,6 +605,7 @@ All comparison/containment operators auto-encrypt their operands and are async; | `matches(col, needle)` | Fuzzy free-text token match (short needles rejected) | free-text (`TextMatch`, `TextSearch`) | | `contains(col, subDoc)` | Exact encrypted-JSONB containment (`{}` rejected) | `Json` | | `selector(col, path).eq/ne/gt/gte/lt/lte(value)` | JSONPath selector-with-constraint (dot-notation paths, scalar leaves) | `Json` | +| `selector(col, path).asc()/desc()` | ORDER BY a scalar JSONPath leaf (missing paths are SQL NULL) | `Json` | ### Sort Operators (sync) diff --git a/skills/stash-prisma-next/SKILL.md b/skills/stash-prisma-next/SKILL.md index 545eac098..506e84691 100644 --- a/skills/stash-prisma-next/SKILL.md +++ b/skills/stash-prisma-next/SKILL.md @@ -1,6 +1,6 @@ --- name: stash-prisma-next -description: Integrate CipherStash searchable field-level encryption with Prisma Next using @cipherstash/prisma-next (EQL v3). Covers the domain-named encrypted column types in schema.prisma (TextSearch, DoubleOrd, BigIntOrd, DateOrd, Boolean, Json), the one-call cipherstashFromStack wiring, the runtime value envelopes (EncryptedString/Number/BigInt/Date/Boolean/Json) and decryptAll, the eql* query operators (eqlEq, eqlMatch, eqlGt, eqlBetween, eqlIn, eqlJsonContains, eqlAsc/eqlDesc), EQL bundle installation via prisma-next migration apply, and authentication. Use when adding encryption to a Prisma Next project or querying encrypted columns. +description: Integrate CipherStash searchable field-level encryption with Prisma Next using @cipherstash/prisma-next (EQL v3). Covers the domain-named encrypted column types in schema.prisma (TextSearch, DoubleOrd, BigIntOrd, DateOrd, Boolean, Json), the one-call cipherstashFromStack wiring, the runtime value envelopes (EncryptedString/Number/BigInt/Date/Boolean/Json) and decryptAll, the eql* query operators (eqlEq, eqlMatch, eqlGt, eqlBetween, eqlIn, eqlJsonContains, eqlAsc/eqlDesc, eqlJsonPathAsc/eqlJsonPathDesc), EQL bundle installation via prisma-next migration apply, and authentication. Use when adding encryption to a Prisma Next project or querying encrypted columns. --- # CipherStash Stack — Prisma Next Integration @@ -179,6 +179,7 @@ EQL-derived `eql*` vocabulary: | `eqlJsonContains(obj)` | encrypted JSON containment (`@>`) | `EncryptedJson` | | `eqlJsonPathEq/Neq(path,v)` | exact value equality/inequality at a JSONPath | `EncryptedJson` | | `eqlJsonPathGt/Gte/Lt/Lte(path,v)` | string/number ordering at a JSONPath | `EncryptedJson` | +| `eqlJsonPathAsc(col,path)` / `eqlJsonPathDesc(col,path)` | ORDER BY a scalar JSONPath leaf (free functions) | `EncryptedJson` | ```typescript // range @@ -198,6 +199,10 @@ await db.orm.public.User.where((u) => u.preferences.eqlJsonPathGte('$.score', 80 // ordering import { eqlAsc } from '@cipherstash/prisma-next/runtime' await db.orm.public.User.orderBy((u) => eqlAsc(u.salary)).all() + +// ordering by a JSONPath leaf; missing paths follow PostgreSQL NULL ordering +import { eqlJsonPathAsc } from '@cipherstash/prisma-next/runtime' +await db.orm.public.User.orderBy((u) => eqlJsonPathAsc(u.preferences, '$.score')).all() ``` Applying an operator its domain doesn't support (e.g. `eqlGt` on a From d96448f3ed8633204a958b7af32d1644c964dca9 Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Tue, 21 Jul 2026 12:55:10 +1000 Subject: [PATCH 7/9] fix: resolve shared JSON integration suite --- packages/stack-drizzle/tsconfig.json | 3 +++ packages/test-kit/src/index.ts | 5 +++-- vitest.shared.ts | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/stack-drizzle/tsconfig.json b/packages/stack-drizzle/tsconfig.json index 87838c567..88cda7d68 100644 --- a/packages/stack-drizzle/tsconfig.json +++ b/packages/stack-drizzle/tsconfig.json @@ -27,6 +27,9 @@ "@cipherstash/stack/eql/v3": ["../stack/src/eql/v3/index.ts"], "@cipherstash/stack/v3": ["../stack/src/encryption/v3.ts"], "@cipherstash/test-kit": ["../test-kit/src/index.ts"], + "@cipherstash/test-kit/json-suite": [ + "../test-kit/src/run-json-suite.ts" + ], "@cipherstash/test-kit/suite": ["../test-kit/src/run-family-suite.ts"], "@cipherstash/test-kit/integration-clerk": [ "../test-kit/src/integration/clerk.ts" diff --git a/packages/test-kit/src/index.ts b/packages/test-kit/src/index.ts index 28017b6bb..ebfbc24f1 100644 --- a/packages/test-kit/src/index.ts +++ b/packages/test-kit/src/index.ts @@ -13,8 +13,9 @@ * This barrel MUST NOT import `vitest`, directly or transitively. Vitest's * `globalSetup` runs in a different context from the test workers, and a * `vitest` import reached from there fails with "Vitest failed to access its - * internal state". `global-setup.ts` imports this barrel, so the test driver - * lives behind its own subpath: `@cipherstash/test-kit/suite`. + * internal state". `global-setup.ts` imports this barrel, so the test drivers + * live behind `@cipherstash/test-kit/suite` and + * `@cipherstash/test-kit/json-suite`. */ export type { IntegrationAdapter } from './adapter.ts' diff --git a/vitest.shared.ts b/vitest.shared.ts index 068aaec06..cbf78fd5b 100644 --- a/vitest.shared.ts +++ b/vitest.shared.ts @@ -21,6 +21,10 @@ const repoRoot = __dirname export const sharedAlias: Record = { // Longest specifiers first: Vite alias keys are prefix-matched in order. + '@cipherstash/test-kit/json-suite': resolve( + repoRoot, + 'packages/test-kit/src/run-json-suite.ts', + ), '@cipherstash/test-kit/suite': resolve( repoRoot, 'packages/test-kit/src/run-family-suite.ts', From 235c1513fde913157f8a2ac9b26ac7a9519e01e5 Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Tue, 21 Jul 2026 13:06:37 +1000 Subject: [PATCH 8/9] fix: preserve Prisma JSON selector hashes --- .../prisma-next/src/v3/bulk-encrypt-v3.ts | 28 +++++++++++--- .../test/v3/bulk-encrypt-v3.test.ts | 38 ++++++++++++++++++- 2 files changed, 58 insertions(+), 8 deletions(-) diff --git a/packages/prisma-next/src/v3/bulk-encrypt-v3.ts b/packages/prisma-next/src/v3/bulk-encrypt-v3.ts index 3c8ca3291..d0fa7c28e 100644 --- a/packages/prisma-next/src/v3/bulk-encrypt-v3.ts +++ b/packages/prisma-next/src/v3/bulk-encrypt-v3.ts @@ -20,10 +20,11 @@ * and routes the operand through the client's `encryptQuery` * (a ciphertext-free term), never the storage encrypt. The * resulting term is written back as JSONB text — exactly what the - * operator's `$N::eql_v3.query_` template expects — but is - * NOT stamped into the envelope's ciphertext slot (a query term is - * not the cell's storage ciphertext; stamping it would poison - * later write-path reuse of the same envelope). + * operator's `$N::eql_v3.query_` template expects. The one + * exception is `steVecSelector`: protect-ffi returns a bare selector hash + * consumed as SQL `text`, so it must stay bare rather than becoming a + * JSON-string literal with quote characters. Query terms are NOT stamped + * into the envelope's ciphertext slot (they are not cell ciphertext). * * The `(table, column)` routing-key stamping is NOT forked: the AST walk * is version-neutral (it touches only the shared envelope base) and is @@ -125,12 +126,17 @@ export function bulkEncryptMiddlewareV3(sdk: CipherstashSdk): SqlMiddleware { params.replaceValues( group.map((t, i) => { const ciphertext = ciphertexts[i] - if (v3QueryTermTypeOf(t.envelope) === undefined) { + const queryType = v3QueryTermTypeOf(t.envelope) + if (queryType === undefined) { setHandleCiphertext(t.envelope, ciphertext) } + const newValue = + queryType === 'steVecSelector' + ? selectorHashToDriver(ciphertext) + : v3ToDriver(ciphertext) return { ref: t.ref, - newValue: v3ToDriver(ciphertext), + newValue, } }), ) @@ -139,6 +145,16 @@ export function bulkEncryptMiddlewareV3(sdk: CipherstashSdk): SqlMiddleware { } } +/** A selector is a SQL text operand, not a JSONB query-domain value. */ +function selectorHashToDriver(value: unknown): string { + if (typeof value !== 'string') { + throw new Error( + `cipherstash v3 bulk-encrypt: steVecSelector must resolve to a bare string hash, got ${value === null ? 'null' : typeof value}.`, + ) + } + return value +} + function collectV3Targets( params: SqlParamRefMutator, ): BulkEncryptTarget>[] { diff --git a/packages/prisma-next/test/v3/bulk-encrypt-v3.test.ts b/packages/prisma-next/test/v3/bulk-encrypt-v3.test.ts index 1c1fba9a3..10eca14ed 100644 --- a/packages/prisma-next/test/v3/bulk-encrypt-v3.test.ts +++ b/packages/prisma-next/test/v3/bulk-encrypt-v3.test.ts @@ -23,6 +23,7 @@ import { } from '@prisma-next/sql-relational-core/ast' import type { SqlExecutionPlan } from '@prisma-next/sql-relational-core/plan' import { describe, expect, it } from 'vitest' +import type { EncryptedEnvelopeBase } from '../../src/execution/envelope-base' import { setHandleRoutingKey } from '../../src/execution/envelope-base' import { EncryptedJson } from '../../src/execution/envelope-json' import { EncryptedString } from '../../src/execution/envelope-string' @@ -370,11 +371,14 @@ describe('bulkEncryptMiddlewareV3', () => { * routing pre-stamped, bound under the bare-rendering `pg/text@1` * codec (never a v3 codec id). */ - function queryTermPlan(envelope: EncryptedString): SqlExecutionPlan { + function queryTermPlan( + envelope: EncryptedEnvelopeBase, + column = 'email', + ): SqlExecutionPlan { const ref = ParamRef.of(envelope, { codec: { codecId: 'pg/text@1' } }) // A WHERE-operand param lives outside insert/update rows; the AST // shape here only needs to expose the ParamRef to the mutator. - const ast = new InsertAst(TableSource.named('user'), [{ email: ref }]) + const ast = new InsertAst(TableSource.named('user'), [{ [column]: ref }]) return { sql: 'SELECT ... WHERE eql_v3.eq("user"."email", $1::eql_v3.query_text_search)', params: [envelope], @@ -421,6 +425,36 @@ describe('bulkEncryptMiddlewareV3', () => { expect(envelope.expose().plaintext).toBe('alice@example.com') }) + it('writes steVecSelector as bare SQL text, not a quoted JSON string', async () => { + const selectorHash = 'selector-hash' + const sdk = makeCounterSdk({ encryptImpl: () => [selectorHash] }) + const middleware = bulkEncryptMiddlewareV3(sdk) + const envelope = EncryptedJson.from('$.profile.age') + setHandleRoutingKey(envelope, 'user', 'payload') + markV3QueryTerm(envelope, 'steVecSelector') + const plan = queryTermPlan(envelope, 'payload') + const params = createSqlParamRefMutator(plan) + + await middleware.beforeExecute?.(plan, createCtx(), params) + + expect(params.currentParams()[0]).toBe(selectorHash) + expect(params.currentParams()[0]).not.toBe(v3ToDriver(selectorHash)) + }) + + it('rejects a non-string steVecSelector result', async () => { + const sdk = makeCounterSdk({ encryptImpl: () => [{ bad: 'selector' }] }) + const middleware = bulkEncryptMiddlewareV3(sdk) + const envelope = EncryptedJson.from('$.profile.age') + setHandleRoutingKey(envelope, 'user', 'payload') + markV3QueryTerm(envelope, 'steVecSelector') + const plan = queryTermPlan(envelope, 'payload') + const params = createSqlParamRefMutator(plan) + + await expect( + middleware.beforeExecute?.(plan, createCtx(), params), + ).rejects.toThrow(/steVecSelector must resolve to a bare string hash/) + }) + it('groups a storage value and a query term on the same column into one SDK call, position-stable', async () => { const sdk = makeCounterSdk({ encryptImpl: (args) => From 434975a1cb811cf55747d3f7d5ad0467e010cb14 Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Tue, 21 Jul 2026 13:15:45 +1000 Subject: [PATCH 9/9] fix: reconcile PR 711 with EQL v3-only main --- packages/prisma-next/test/bundling-isolation.test.ts | 7 ++++++- packages/stack-drizzle/tsconfig.json | 4 +--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/prisma-next/test/bundling-isolation.test.ts b/packages/prisma-next/test/bundling-isolation.test.ts index 713162185..0783166fb 100644 --- a/packages/prisma-next/test/bundling-isolation.test.ts +++ b/packages/prisma-next/test/bundling-isolation.test.ts @@ -91,9 +91,14 @@ const RUNTIME_FORBIDDEN = [ const SHARED_CHUNK_PATTERN = /^chunk-[A-Za-z0-9_-]+\.js$/ const ALLOWED_SHARED_CHUNK_MARKER_SETS: ReadonlyArray = [ - // constants chunk (constants.ts + constants-v3.ts — pure literals) + // legacy constants chunk (constants.ts — pure literals) [ 'CIPHERSTASH_SPACE_ID', + 'CIPHERSTASH_CODEC_IDS', + 'CIPHERSTASH_TRAIT_SEARCHABLE_JSON', + ], + // v3 constants chunk (constants-v3.ts — pure literals and trait mapper) + [ 'CIPHERSTASH_V3_CODEC_IDS', 'CIPHERSTASH_V3_BASELINE_MIGRATION_NAME', 'CIPHERSTASH_V3_302_UPGRADE_MIGRATION_NAME', diff --git a/packages/stack-drizzle/tsconfig.json b/packages/stack-drizzle/tsconfig.json index 88cda7d68..ffeeb4f21 100644 --- a/packages/stack-drizzle/tsconfig.json +++ b/packages/stack-drizzle/tsconfig.json @@ -27,9 +27,7 @@ "@cipherstash/stack/eql/v3": ["../stack/src/eql/v3/index.ts"], "@cipherstash/stack/v3": ["../stack/src/encryption/v3.ts"], "@cipherstash/test-kit": ["../test-kit/src/index.ts"], - "@cipherstash/test-kit/json-suite": [ - "../test-kit/src/run-json-suite.ts" - ], + "@cipherstash/test-kit/json-suite": ["../test-kit/src/run-json-suite.ts"], "@cipherstash/test-kit/suite": ["../test-kit/src/run-family-suite.ts"], "@cipherstash/test-kit/integration-clerk": [ "../test-kit/src/integration/clerk.ts"