diff --git a/.changeset/eql-v3-typed-client.md b/.changeset/eql-v3-typed-client.md index b8821cf6..82949cc6 100644 --- a/.changeset/eql-v3-typed-client.md +++ b/.changeset/eql-v3-typed-client.md @@ -11,7 +11,7 @@ Every method derives its types from the concrete `table` / `column` builder arguments: - `encrypt` / `encryptQuery` pin the plaintext to the column's domain type - (`text → string`, `int8 → bigint`, `timestamptz → Date`, …). + (`text → string`, `int8 → bigint`, `timestamp → Date`, …). - `encryptQuery` constrains `queryType` to the column's capabilities and rejects storage-only columns at compile time. - `encryptModel` / `bulkEncryptModels` validate schema-column fields against their diff --git a/.changeset/eql-v3-typed-schema.md b/.changeset/eql-v3-typed-schema.md index a805d285..67fe4e61 100644 --- a/.changeset/eql-v3-typed-schema.md +++ b/.changeset/eql-v3-typed-schema.md @@ -2,6 +2,6 @@ '@cipherstash/stack': minor --- -Add EQL v3 schema builders for all generated SQL domains under `@cipherstash/stack/eql/v3`, exposed as the `types` namespace (one member per EQL v3 domain, e.g. `types.TextEq` / `types.Int4Ord` / `types.Timestamptz`), including explicit query capability metadata (`getQueryCapabilities()` / `isQueryable()`) and v3 table support in model encryption helpers (`encryptModel` / `bulkEncryptModels`). +Add EQL v3 schema builders for all generated SQL domains under `@cipherstash/stack/eql/v3`, exposed as the `types` namespace (one member per EQL v3 domain, e.g. `types.TextEq` / `types.Int4Ord` / `types.Timestamp`), including explicit query capability metadata (`getQueryCapabilities()` / `isQueryable()`) and v3 table support in model encryption helpers (`encryptModel` / `bulkEncryptModels`). -Also widen the accepted plaintext input type for `encrypt` / `encryptQuery` to include `Date` and `bigint` (via the new `Plaintext` type), so v3 `date` / `timestamptz` / `int8` domains can be encrypted and queried with their natural JavaScript values. +Also widen the accepted plaintext input type for `encrypt` / `encryptQuery` to include `Date` and `bigint` (via the new `Plaintext` type), so v3 `date` / `timestamp` / `int8` domains can be encrypted and queried with their natural JavaScript values. diff --git a/packages/stack/__tests__/cjs-require.test.ts b/packages/stack/__tests__/cjs-require.test.ts index 460e3b9f..c91f11ee 100644 --- a/packages/stack/__tests__/cjs-require.test.ts +++ b/packages/stack/__tests__/cjs-require.test.ts @@ -93,7 +93,7 @@ describe('CJS consumers can require the built bundles', () => { `if (typeof v3.encryptedTable !== 'function') { throw new Error('missing v3 CJS export: encryptedTable') }`, `if (typeof v3.buildEncryptConfig !== 'function') { throw new Error('missing v3 CJS export: buildEncryptConfig') }`, `if (typeof v3.types !== 'object' || v3.types === null) { throw new Error('missing v3 CJS export: types namespace') }`, - `const requiredTypes = ['TextSearch', 'TextEq', 'Int4Ord', 'Bool', 'Timestamptz']`, + `const requiredTypes = ['TextSearch', 'TextEq', 'Int4Ord', 'Bool', 'Timestamp']`, `const missing = requiredTypes.filter((k) => typeof v3.types[k] !== 'function')`, `if (missing.length > 0) { throw new Error('missing v3 types.* CJS members: ' + missing.join(', ')) }`, ].join('\n') diff --git a/packages/stack/__tests__/fixtures/eql-v3/cipherstash-encrypt-v3.sql b/packages/stack/__tests__/fixtures/eql-v3/cipherstash-encrypt-v3.sql index 331a3813..fc2f9325 100644 --- a/packages/stack/__tests__/fixtures/eql-v3/cipherstash-encrypt-v3.sql +++ b/packages/stack/__tests__/fixtures/eql-v3/cipherstash-encrypt-v3.sql @@ -142,7 +142,7 @@ $$ LANGUAGE sql; --! @internal Mark this hand-written helper inline-critical so the post-install --! pin_search_path pass leaves it unpinned (no `SET search_path`), preserving --! SQL-function inlining. It takes a bare `jsonb` arg (not a jsonb-backed ---! encrypted DOMAIN), so the structural skip in tasks/pin_search_path.sql does +--! encrypted DOMAIN), so the structural skip in tasks/pin_search_path_v3.sql does --! not recognise it; this marker is the documented manual opt-in. COMMENT ON FUNCTION eql_v3.jsonb_array_to_bytea_array(jsonb) IS 'eql-inline-critical: per-encrypted-value ORE helper; must stay inlinable (unpinned search_path)'; @@ -278,7 +278,7 @@ $$ LANGUAGE sql; --! @internal Mark this hand-written helper inline-critical so the post-install --! pin_search_path pass leaves it unpinned (no `SET search_path`), preserving --! SQL-function inlining. It takes a bare `jsonb` arg (not a jsonb-backed ---! encrypted DOMAIN), so the structural skip in tasks/pin_search_path.sql does +--! encrypted DOMAIN), so the structural skip in tasks/pin_search_path_v3.sql does --! not recognise it; this marker is the documented manual opt-in. COMMENT ON FUNCTION eql_v3.jsonb_array_to_ore_block_256(jsonb) IS 'eql-inline-critical: per-encrypted-value ORE helper; must stay inlinable (unpinned search_path)'; @@ -765,6 +765,81 @@ AS $$ $$; -- AUTOMATICALLY GENERATED FILE. +--! @file v3/scalars/timestamp/timestamp_types.sql +--! @brief Encrypted-domain types for timestamp. + +DO $$ +BEGIN + --! @brief Encrypted domain eql_v3.timestamp. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'timestamp' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.timestamp AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.timestamp_eq. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'timestamp_eq' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.timestamp_eq AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'hm' + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.timestamp_ord_ore. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'timestamp_ord_ore' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.timestamp_ord_ore AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.timestamp_ord. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'timestamp_ord' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.timestamp_ord AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; +END +$$; +-- AUTOMATICALLY GENERATED FILE. + --! @file v3/scalars/int4/int4_types.sql --! @brief Encrypted-domain types for int4. @@ -1874,17 +1949,17 @@ AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.i LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file v3/scalars/timestamptz/timestamptz_types.sql ---! @brief Encrypted-domain types for timestamptz. +--! @file v3/scalars/int2/int2_types.sql +--! @brief Encrypted-domain types for int2. DO $$ BEGIN - --! @brief Encrypted domain eql_v3.timestamptz. + --! @brief Encrypted domain eql_v3.int2. IF NOT EXISTS ( SELECT 1 FROM pg_type - WHERE typname = 'timestamptz' AND typnamespace = 'eql_v3'::regnamespace + WHERE typname = 'int2' AND typnamespace = 'eql_v3'::regnamespace ) THEN - CREATE DOMAIN eql_v3.timestamptz AS jsonb + CREATE DOMAIN eql_v3.int2 AS jsonb CHECK ( jsonb_typeof(VALUE) = 'object' AND VALUE ? 'v' @@ -1894,12 +1969,12 @@ BEGIN ); END IF; - --! @brief Encrypted domain eql_v3.timestamptz_eq. + --! @brief Encrypted domain eql_v3.int2_eq. IF NOT EXISTS ( SELECT 1 FROM pg_type - WHERE typname = 'timestamptz_eq' AND typnamespace = 'eql_v3'::regnamespace + WHERE typname = 'int2_eq' AND typnamespace = 'eql_v3'::regnamespace ) THEN - CREATE DOMAIN eql_v3.timestamptz_eq AS jsonb + CREATE DOMAIN eql_v3.int2_eq AS jsonb CHECK ( jsonb_typeof(VALUE) = 'object' AND VALUE ? 'v' @@ -1910,12 +1985,12 @@ BEGIN ); END IF; - --! @brief Encrypted domain eql_v3.timestamptz_ord_ore. + --! @brief Encrypted domain eql_v3.int2_ord_ore. IF NOT EXISTS ( SELECT 1 FROM pg_type - WHERE typname = 'timestamptz_ord_ore' AND typnamespace = 'eql_v3'::regnamespace + WHERE typname = 'int2_ord_ore' AND typnamespace = 'eql_v3'::regnamespace ) THEN - CREATE DOMAIN eql_v3.timestamptz_ord_ore AS jsonb + CREATE DOMAIN eql_v3.int2_ord_ore AS jsonb CHECK ( jsonb_typeof(VALUE) = 'object' AND VALUE ? 'v' @@ -1928,12 +2003,12 @@ BEGIN ); END IF; - --! @brief Encrypted domain eql_v3.timestamptz_ord. + --! @brief Encrypted domain eql_v3.int2_ord. IF NOT EXISTS ( SELECT 1 FROM pg_type - WHERE typname = 'timestamptz_ord' AND typnamespace = 'eql_v3'::regnamespace + WHERE typname = 'int2_ord' AND typnamespace = 'eql_v3'::regnamespace ) THEN - CREATE DOMAIN eql_v3.timestamptz_ord AS jsonb + CREATE DOMAIN eql_v3.int2_ord AS jsonb CHECK ( jsonb_typeof(VALUE) = 'object' AND VALUE ? 'v' @@ -1949,7542 +2024,6276 @@ END $$; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/timestamptz/timestamptz_ord_ore_functions.sql ---! @brief Functions for eql_v3.timestamptz_ord_ore. +--! @file encrypted_domain/int2/int2_ord_ore_functions.sql +--! @brief Functions for eql_v3.int2_ord_ore. ---! @brief Index extractor for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Index extractor for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.ord_term(a eql_v3.int2_ord_ore) RETURNS eql_v3.ore_block_256 LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore ---! @param b eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.timestamptz_ord_ore, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.eq(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.timestamptz_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.eq(a eql_v3.int2_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.timestamptz_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. +--! @brief Operator wrapper for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord_ore) = eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) = eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore ---! @param b eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.timestamptz_ord_ore, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.neq(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.timestamptz_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.neq(a eql_v3.int2_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.timestamptz_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. +--! @brief Operator wrapper for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord_ore) <> eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) <> eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore ---! @param b eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.timestamptz_ord_ore, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.lt(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.timestamptz_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.lt(a eql_v3.int2_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.timestamptz_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. +--! @brief Operator wrapper for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord_ore) < eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore ---! @param b eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.timestamptz_ord_ore, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.lte(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.timestamptz_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.lte(a eql_v3.int2_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.timestamptz_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. +--! @brief Operator wrapper for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord_ore) <= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore ---! @param b eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.timestamptz_ord_ore, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.gt(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.timestamptz_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.gt(a eql_v3.int2_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.timestamptz_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. +--! @brief Operator wrapper for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord_ore) > eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore ---! @param b eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.timestamptz_ord_ore, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.gte(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.timestamptz_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.gte(a eql_v3.int2_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.timestamptz_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_ord_ore. +--! @brief Operator wrapper for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int2_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord_ore) >= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore ---! @param b eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.timestamptz_ord_ore, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.contains(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.timestamptz_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.int2_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int2_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore ---! @param b eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamptz_ord_ore, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamptz_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int2_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param selector text ---! @return eql_v3.timestamptz_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.timestamptz_ord_ore, selector text) -RETURNS eql_v3.timestamptz_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz_ord_ore'; END; $$ +--! @return eql_v3.int2_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.int2_ord_ore, selector text) +RETURNS eql_v3.int2_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param selector integer ---! @return eql_v3.timestamptz_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.timestamptz_ord_ore, selector integer) -RETURNS eql_v3.timestamptz_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz_ord_ore'; END; $$ +--! @return eql_v3.int2_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.int2_ord_ore, selector integer) +RETURNS eql_v3.int2_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param selector eql_v3.timestamptz_ord_ore ---! @return eql_v3.timestamptz_ord_ore -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.timestamptz_ord_ore) -RETURNS eql_v3.timestamptz_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz_ord_ore'; END; $$ +--! @param selector eql_v3.int2_ord_ore +--! @return eql_v3.int2_ord_ore +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int2_ord_ore) +RETURNS eql_v3.int2_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamptz_ord_ore, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int2_ord_ore, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamptz_ord_ore, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int2_ord_ore, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param selector eql_v3.timestamptz_ord_ore +--! @param selector eql_v3.int2_ord_ore --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int2_ord_ore) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.timestamptz_ord_ore, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.int2_ord_ore, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.timestamptz_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.int2_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.timestamptz_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.int2_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.timestamptz_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.int2_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.timestamptz_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.int2_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.timestamptz_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.int2_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.timestamptz_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.int2_ord_ore, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz_ord_ore, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord_ore, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz_ord_ore, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord_ore, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz_ord_ore, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.timestamptz_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.int2_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore ---! @param b eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.timestamptz_ord_ore, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3."||"(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. ---! @param a eql_v3.timestamptz_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @param a eql_v3.int2_ord_ore --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.timestamptz_ord_ore, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.int2_ord_ore, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz_ord_ore +--! @param b eql_v3.int2_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.timestamptz_ord_ore) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int2_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord_ore'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/timestamptz/timestamptz_ord_ore_operators.sql ---! @brief Operators for eql_v3.timestamptz_ord_ore. - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = eql_v3.timestamptz_ord_ore -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonb -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = eql_v3.timestamptz_ord_ore -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonb -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = integer -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = integer -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore -); - -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonpath -); - -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonpath -); - -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = integer -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = eql_v3.timestamptz_ord_ore -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.timestamptz_ord_ore, RIGHTARG = jsonb -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord_ore -); --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/timestamptz/timestamptz_eq_functions.sql ---! @brief Functions for eql_v3.timestamptz_eq. +--! @file encrypted_domain/int2/int2_ord_functions.sql +--! @brief Functions for eql_v3.int2_ord. ---! @brief Index extractor for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @return eql_v3.hmac_256 -CREATE FUNCTION eql_v3.eq_term(a eql_v3.timestamptz_eq) -RETURNS eql_v3.hmac_256 +--! @brief Index extractor for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @return eql_v3.ore_block_256 +CREATE FUNCTION eql_v3.ord_term(a eql_v3.int2_ord) +RETURNS eql_v3.ore_block_256 LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; +AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @param b eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.timestamptz_eq, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3.eq(a eql_v3.int2_ord, b eql_v3.int2_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.timestamptz_eq, b jsonb) +CREATE FUNCTION eql_v3.eq(a eql_v3.int2_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.timestamptz_eq) $$; +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.int2_ord) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_eq. +--! @brief Operator wrapper for eql_v3.int2_ord. --! @param a jsonb ---! @param b eql_v3.timestamptz_eq +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int2_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.timestamptz_eq) = eql_v3.eq_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) = eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @param b eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.timestamptz_eq, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3.neq(a eql_v3.int2_ord, b eql_v3.int2_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.timestamptz_eq, b jsonb) +CREATE FUNCTION eql_v3.neq(a eql_v3.int2_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.timestamptz_eq) $$; +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.int2_ord) $$; ---! @brief Operator wrapper for eql_v3.timestamptz_eq. +--! @brief Operator wrapper for eql_v3.int2_ord. --! @param a jsonb ---! @param b eql_v3.timestamptz_eq +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int2_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.timestamptz_eq) <> eql_v3.eq_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) <> eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @param b eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.timestamptz_eq, b eql_v3.timestamptz_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.int2_ord, b eql_v3.int2_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.timestamptz_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.int2_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.int2_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. +--! @brief Operator wrapper for eql_v3.int2_ord. --! @param a jsonb ---! @param b eql_v3.timestamptz_eq +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.timestamptz_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int2_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @param b eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.timestamptz_eq, b eql_v3.timestamptz_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.int2_ord, b eql_v3.int2_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.timestamptz_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.int2_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.int2_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. +--! @brief Operator wrapper for eql_v3.int2_ord. --! @param a jsonb ---! @param b eql_v3.timestamptz_eq +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.timestamptz_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int2_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @param b eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.timestamptz_eq, b eql_v3.timestamptz_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.int2_ord, b eql_v3.int2_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.timestamptz_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.int2_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.int2_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. +--! @brief Operator wrapper for eql_v3.int2_ord. --! @param a jsonb ---! @param b eql_v3.timestamptz_eq +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.timestamptz_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int2_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @param b eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.timestamptz_eq, b eql_v3.timestamptz_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.int2_ord, b eql_v3.int2_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Operator wrapper for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.timestamptz_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.int2_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.int2_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. +--! @brief Operator wrapper for eql_v3.int2_ord. --! @param a jsonb ---! @param b eql_v3.timestamptz_eq +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.timestamptz_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamptz_eq'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int2_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @param b eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.timestamptz_eq, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3.contains(a eql_v3.int2_ord, b eql_v3.int2_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.timestamptz_eq, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.int2_ord, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. +--! @brief Unsupported operator blocker for eql_v3.int2_ord. --! @param a jsonb ---! @param b eql_v3.timestamptz_eq +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int2_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @param b eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamptz_eq, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2_ord, b eql_v3.int2_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamptz_eq, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2_ord, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. +--! @brief Unsupported operator blocker for eql_v3.int2_ord. --! @param a jsonb ---! @param b eql_v3.timestamptz_eq +--! @param b eql_v3.int2_ord --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int2_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param selector text ---! @return eql_v3.timestamptz_eq -CREATE FUNCTION eql_v3."->"(a eql_v3.timestamptz_eq, selector text) -RETURNS eql_v3.timestamptz_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz_eq'; END; $$ +--! @return eql_v3.int2_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.int2_ord, selector text) +RETURNS eql_v3.int2_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param selector integer ---! @return eql_v3.timestamptz_eq -CREATE FUNCTION eql_v3."->"(a eql_v3.timestamptz_eq, selector integer) -RETURNS eql_v3.timestamptz_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz_eq'; END; $$ +--! @return eql_v3.int2_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.int2_ord, selector integer) +RETURNS eql_v3.int2_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. +--! @brief Unsupported operator blocker for eql_v3.int2_ord. --! @param a jsonb ---! @param selector eql_v3.timestamptz_eq ---! @return eql_v3.timestamptz_eq -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.timestamptz_eq) -RETURNS eql_v3.timestamptz_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz_eq'; END; $$ +--! @param selector eql_v3.int2_ord +--! @return eql_v3.int2_ord +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int2_ord) +RETURNS eql_v3.int2_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamptz_eq, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int2_ord, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamptz_eq, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int2_ord, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. +--! @brief Unsupported operator blocker for eql_v3.int2_ord. --! @param a jsonb ---! @param selector eql_v3.timestamptz_eq +--! @param selector eql_v3.int2_ord --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int2_ord) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.timestamptz_eq, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.int2_ord, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.timestamptz_eq, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.int2_ord, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.timestamptz_eq, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.int2_ord, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.timestamptz_eq, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.int2_ord, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.timestamptz_eq, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.int2_ord, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.timestamptz_eq, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.int2_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.timestamptz_eq, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.int2_ord, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz_eq, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz_eq, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz_eq, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.timestamptz_eq, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.int2_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq ---! @param b eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord +--! @param b eql_v3.int2_ord --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.timestamptz_eq, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3."||"(a eql_v3.int2_ord, b eql_v3.int2_ord) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. ---! @param a eql_v3.timestamptz_eq +--! @brief Unsupported operator blocker for eql_v3.int2_ord. +--! @param a eql_v3.int2_ord --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.timestamptz_eq, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.int2_ord, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz_eq. +--! @brief Unsupported operator blocker for eql_v3.int2_ord. --! @param a jsonb ---! @param b eql_v3.timestamptz_eq +--! @param b eql_v3.int2_ord --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.timestamptz_eq) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int2_ord) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/timestamptz/timestamptz_ord_functions.sql ---! @brief Functions for eql_v3.timestamptz_ord. +--! @file encrypted_domain/int2/int2_ord_operators.sql +--! @brief Operators for eql_v3.int2_ord. ---! @brief Index extractor for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.timestamptz_ord) -RETURNS eql_v3.ore_block_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.timestamptz_ord, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.timestamptz_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.timestamptz_ord) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord) = eql_v3.ord_term(b) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.timestamptz_ord, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.timestamptz_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.timestamptz_ord) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord) <> eql_v3.ord_term(b) $$; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.timestamptz_ord, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.timestamptz_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.timestamptz_ord) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord) < eql_v3.ord_term(b) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.timestamptz_ord, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.timestamptz_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.timestamptz_ord) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord) <= eql_v3.ord_term(b) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.timestamptz_ord, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.timestamptz_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.timestamptz_ord) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord) > eql_v3.ord_term(b) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.timestamptz_ord, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.timestamptz_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.timestamptz_ord) $$; - ---! @brief Operator wrapper for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.timestamptz_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamptz_ord) >= eql_v3.ord_term(b) $$; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.timestamptz_ord, b eql_v3.timestamptz_ord) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.timestamptz_ord, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.timestamptz_ord) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamptz_ord, b eql_v3.timestamptz_ord) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamptz_ord, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param b eql_v3.timestamptz_ord ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.timestamptz_ord) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param selector text ---! @return eql_v3.timestamptz_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.timestamptz_ord, selector text) -RETURNS eql_v3.timestamptz_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param selector integer ---! @return eql_v3.timestamptz_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.timestamptz_ord, selector integer) -RETURNS eql_v3.timestamptz_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param selector eql_v3.timestamptz_ord ---! @return eql_v3.timestamptz_ord -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.timestamptz_ord) -RETURNS eql_v3.timestamptz_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamptz_ord, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamptz_ord, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param selector eql_v3.timestamptz_ord ---! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.timestamptz_ord) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b text ---! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.timestamptz_ord, b text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.timestamptz_ord, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.timestamptz_ord, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.timestamptz_ord, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.timestamptz_ord, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.timestamptz_ord, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b text[] ---! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.timestamptz_ord, b text[]) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b text ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz_ord, b text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b integer ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz_ord, b integer) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz_ord, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.timestamptz_ord, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b eql_v3.timestamptz_ord ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.timestamptz_ord, b eql_v3.timestamptz_ord) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a eql_v3.timestamptz_ord ---! @param b jsonb ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.timestamptz_ord, b jsonb) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.timestamptz_ord. ---! @param a jsonb ---! @param b eql_v3.timestamptz_ord ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.timestamptz_ord) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz_ord'; END; $$ -LANGUAGE plpgsql; --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/timestamptz/timestamptz_ord_operators.sql ---! @brief Operators for eql_v3.timestamptz_ord. - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = eql_v3.timestamptz_ord, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = eql_v3.timestamptz_ord, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = eql_v3.timestamptz_ord, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = eql_v3.timestamptz_ord, + LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonb, + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = eql_v3.timestamptz_ord, + LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonb, + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = eql_v3.timestamptz_ord, + LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonb, + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = eql_v3.timestamptz_ord + LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonb + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = eql_v3.timestamptz_ord + LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonb + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text + LEFTARG = eql_v3.int2_ord, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = integer + LEFTARG = eql_v3.int2_ord, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text + LEFTARG = eql_v3.int2_ord, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = integer + LEFTARG = eql_v3.int2_ord, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text + LEFTARG = eql_v3.int2_ord, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonpath + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonpath + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text + LEFTARG = eql_v3.int2_ord, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = integer + LEFTARG = eql_v3.int2_ord, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = eql_v3.timestamptz_ord + LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.timestamptz_ord, RIGHTARG = jsonb + LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord ); -- AUTOMATICALLY GENERATED FILE. ---! @file v3/scalars/int2/int2_types.sql ---! @brief Encrypted-domain types for int2. +--! @file encrypted_domain/int2/int2_functions.sql +--! @brief Functions for eql_v3.int2. -DO $$ -BEGIN - --! @brief Encrypted domain eql_v3.int2. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'int2' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.int2 AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.int2_eq. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'int2_eq' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.int2_eq AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'hm' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.int2_ord_ore. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'int2_ord_ore' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.int2_ord_ore AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.int2_ord. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'int2_ord' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.int2_ord AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; -END -$$; --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/int2/int2_ord_ore_functions.sql ---! @brief Functions for eql_v3.int2_ord_ore. - ---! @brief Index extractor for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.int2_ord_ore) -RETURNS eql_v3.ore_block_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; - ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @param b eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.eq(a eql_v3.int2, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int2_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; +CREATE FUNCTION eql_v3.eq(a eql_v3.int2, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param b eql_v3.int2_ord_ore +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) = eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @param b eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.neq(a eql_v3.int2, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int2_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; +CREATE FUNCTION eql_v3.neq(a eql_v3.int2, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param b eql_v3.int2_ord_ore +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) <> eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @param b eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lt(a eql_v3.int2, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int2_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; +CREATE FUNCTION eql_v3.lt(a eql_v3.int2, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param b eql_v3.int2_ord_ore +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) < eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @param b eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lte(a eql_v3.int2, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int2_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; +CREATE FUNCTION eql_v3.lte(a eql_v3.int2, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param b eql_v3.int2_ord_ore +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) <= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @param b eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gt(a eql_v3.int2, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int2_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; +CREATE FUNCTION eql_v3.gt(a eql_v3.int2, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param b eql_v3.int2_ord_ore +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) > eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @param b eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gte(a eql_v3.int2, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int2_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.int2_ord_ore) $$; +CREATE FUNCTION eql_v3.gte(a eql_v3.int2, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param b eql_v3.int2_ord_ore +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int2_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord_ore) >= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int2) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int2'; END; $$ +LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @param b eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) +CREATE FUNCTION eql_v3.contains(a eql_v3.int2, b eql_v3.int2) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int2_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.int2, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param b eql_v3.int2_ord_ore +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int2_ord_ore) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int2) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @param b eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2, b eql_v3.int2) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param b eql_v3.int2_ord_ore +--! @param b eql_v3.int2 --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int2_ord_ore) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int2) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param selector text ---! @return eql_v3.int2_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.int2_ord_ore, selector text) -RETURNS eql_v3.int2_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord_ore'; END; $$ +--! @return eql_v3.int2 +CREATE FUNCTION eql_v3."->"(a eql_v3.int2, selector text) +RETURNS eql_v3.int2 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param selector integer ---! @return eql_v3.int2_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.int2_ord_ore, selector integer) -RETURNS eql_v3.int2_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord_ore'; END; $$ +--! @return eql_v3.int2 +CREATE FUNCTION eql_v3."->"(a eql_v3.int2, selector integer) +RETURNS eql_v3.int2 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param selector eql_v3.int2_ord_ore ---! @return eql_v3.int2_ord_ore -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int2_ord_ore) -RETURNS eql_v3.int2_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord_ore'; END; $$ +--! @param selector eql_v3.int2 +--! @return eql_v3.int2 +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int2) +RETURNS eql_v3.int2 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int2_ord_ore, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int2, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int2_ord_ore, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int2, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param selector eql_v3.int2_ord_ore +--! @param selector eql_v3.int2 --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int2_ord_ore) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int2) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.int2_ord_ore, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.int2, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.int2_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.int2, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.int2_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.int2, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.int2_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.int2, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.int2_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.int2, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.int2_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.int2, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.int2_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.int2, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord_ore, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.int2, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord_ore, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.int2, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord_ore, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.int2, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.int2_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.int2, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore ---! @param b eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 +--! @param b eql_v3.int2 --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int2_ord_ore, b eql_v3.int2_ord_ore) +CREATE FUNCTION eql_v3."||"(a eql_v3.int2, b eql_v3.int2) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. ---! @param a eql_v3.int2_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int2. +--! @param a eql_v3.int2 --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int2_ord_ore, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.int2, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int2. --! @param a jsonb ---! @param b eql_v3.int2_ord_ore +--! @param b eql_v3.int2 --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int2_ord_ore) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int2) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/int2/int2_ord_functions.sql ---! @brief Functions for eql_v3.int2_ord. +--! @file encrypted_domain/int2/int2_ord_ore_operators.sql +--! @brief Operators for eql_v3.int2_ord_ore. ---! @brief Index extractor for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.int2_ord) -RETURNS eql_v3.ore_block_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int2_ord, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int2_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.int2_ord) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a jsonb ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) = eql_v3.ord_term(b) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int2_ord, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int2_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.int2_ord) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a jsonb ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) <> eql_v3.ord_term(b) $$; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int2_ord, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int2_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.int2_ord) $$; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a jsonb ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) < eql_v3.ord_term(b) $$; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int2_ord, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int2_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.int2_ord) $$; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a jsonb ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) <= eql_v3.ord_term(b) $$; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int2_ord, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int2_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.int2_ord) $$; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a jsonb ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) > eql_v3.ord_term(b) $$; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int2_ord, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int2_ord, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.int2_ord) $$; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Operator wrapper for eql_v3.int2_ord. ---! @param a jsonb ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int2_ord) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int2_ord) >= eql_v3.ord_term(b) $$; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int2_ord, b eql_v3.int2_ord) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int2_ord, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a jsonb ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int2_ord) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2_ord, b eql_v3.int2_ord) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2_ord, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a jsonb ---! @param b eql_v3.int2_ord ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int2_ord) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param selector text ---! @return eql_v3.int2_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.int2_ord, selector text) -RETURNS eql_v3.int2_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param selector integer ---! @return eql_v3.int2_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.int2_ord, selector integer) -RETURNS eql_v3.int2_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a jsonb ---! @param selector eql_v3.int2_ord ---! @return eql_v3.int2_ord -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int2_ord) -RETURNS eql_v3.int2_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int2_ord, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int2_ord, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a jsonb ---! @param selector eql_v3.int2_ord ---! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int2_ord) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b text ---! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.int2_ord, b text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.int2_ord, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.int2_ord, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.int2_ord, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.int2_ord, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.int2_ord, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b text[] ---! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.int2_ord, b text[]) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b text ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord, b text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b integer ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord, b integer) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int2_ord, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.int2_ord, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b eql_v3.int2_ord ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int2_ord, b eql_v3.int2_ord) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a eql_v3.int2_ord ---! @param b jsonb ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int2_ord, b jsonb) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2_ord. ---! @param a jsonb ---! @param b eql_v3.int2_ord ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int2_ord) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2_ord'; END; $$ -LANGUAGE plpgsql; --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/int2/int2_ord_operators.sql ---! @brief Operators for eql_v3.int2_ord. - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb ); -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore ); +-- AUTOMATICALLY GENERATED FILE. -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @file v3/scalars/float8/float8_types.sql +--! @brief Encrypted-domain types for float8. -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +DO $$ +BEGIN + --! @brief Encrypted domain eql_v3.float8. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'float8' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.float8 AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE->>'v' = '2' + ); + END IF; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); + --! @brief Encrypted domain eql_v3.float8_eq. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'float8_eq' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.float8_eq AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'hm' + AND VALUE->>'v' = '2' + ); + END IF; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); + --! @brief Encrypted domain eql_v3.float8_ord_ore. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'float8_ord_ore' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.float8_ord_ore AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); + --! @brief Encrypted domain eql_v3.float8_ord. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'float8_ord' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.float8_ord AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; +END +$$; +-- AUTOMATICALLY GENERATED FILE. -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); +--! @file encrypted_domain/float8/float8_ord_ore_functions.sql +--! @brief Functions for eql_v3.float8_ord_ore. -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); +--! @brief Index extractor for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @return eql_v3.ore_block_256 +CREATE FUNCTION eql_v3.ord_term(a eql_v3.float8_ord_ore) +RETURNS eql_v3.ore_block_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.float8_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a jsonb +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) = eql_v3.ord_term(b) $$; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.float8_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a jsonb +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) <> eql_v3.ord_term(b) $$; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.float8_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int2_ord, RIGHTARG = integer -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int2_ord, RIGHTARG = integer -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord -); - -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text -); - -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] -); - -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] -); - -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonpath -); - -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonpath -); - -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] -); - -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int2_ord, RIGHTARG = integer -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a jsonb +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) < eql_v3.ord_term(b) $$; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.int2_ord, RIGHTARG = text[] -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.float8_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int2_ord, RIGHTARG = eql_v3.int2_ord -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a jsonb +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) <= eql_v3.ord_term(b) $$; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int2_ord, RIGHTARG = jsonb -); +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord -); --- AUTOMATICALLY GENERATED FILE. +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.float8_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; ---! @file encrypted_domain/int2/int2_functions.sql ---! @brief Functions for eql_v3.int2. +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a jsonb +--! @param b eql_v3.float8_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b eql_v3.int2 +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int2, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int2, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.float8_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.int2. +--! @brief Operator wrapper for eql_v3.float8_ord_ore. --! @param a jsonb ---! @param b eql_v3.int2 +--! @param b eql_v3.float8_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.float8_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int2, b eql_v3.int2) +CREATE FUNCTION eql_v3.contains(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int2, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.float8_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. --! @param a jsonb ---! @param b eql_v3.int2 +--! @param b eql_v3.float8_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int2) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.float8_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int2, b eql_v3.int2) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int2, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. --! @param a jsonb ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int2, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int2, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a jsonb ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int2, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int2, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a jsonb ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int2, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int2, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a jsonb ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int2, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int2, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a jsonb ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b eql_v3.int2 ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2, b eql_v3.int2) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int2, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a jsonb ---! @param b eql_v3.int2 +--! @param b eql_v3.float8_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int2) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.float8_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param selector text ---! @return eql_v3.int2 -CREATE FUNCTION eql_v3."->"(a eql_v3.int2, selector text) -RETURNS eql_v3.int2 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2'; END; $$ +--! @return eql_v3.float8_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.float8_ord_ore, selector text) +RETURNS eql_v3.float8_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param selector integer ---! @return eql_v3.int2 -CREATE FUNCTION eql_v3."->"(a eql_v3.int2, selector integer) -RETURNS eql_v3.int2 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2'; END; $$ +--! @return eql_v3.float8_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.float8_ord_ore, selector integer) +RETURNS eql_v3.float8_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. --! @param a jsonb ---! @param selector eql_v3.int2 ---! @return eql_v3.int2 -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int2) -RETURNS eql_v3.int2 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int2'; END; $$ +--! @param selector eql_v3.float8_ord_ore +--! @return eql_v3.float8_ord_ore +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.float8_ord_ore) +RETURNS eql_v3.float8_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int2, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.float8_ord_ore, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int2, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.float8_ord_ore, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. --! @param a jsonb ---! @param selector eql_v3.int2 +--! @param selector eql_v3.float8_ord_ore --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int2) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.float8_ord_ore) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.int2, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.float8_ord_ore, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.int2, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.float8_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.int2, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.float8_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.int2, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.float8_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.int2, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.float8_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.int2, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.float8_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.int2, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.float8_ord_ore, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int2, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord_ore, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int2, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord_ore, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int2, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.int2, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.float8_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 ---! @param b eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int2, b eql_v3.int2) +CREATE FUNCTION eql_v3."||"(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. ---! @param a eql_v3.int2 +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @param a eql_v3.float8_ord_ore --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int2, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.float8_ord_ore, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int2. +--! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. --! @param a jsonb ---! @param b eql_v3.int2 +--! @param b eql_v3.float8_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int2) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.float8_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int2'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord_ore'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/int2/int2_ord_ore_operators.sql ---! @brief Operators for eql_v3.int2_ord_ore. +--! @file encrypted_domain/float8/float8_ord_ore_operators.sql +--! @brief Operators for eql_v3.float8_ord_ore. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb, + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore, + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = integer + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = integer + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonpath + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonpath + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = integer + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = text[] + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = eql_v3.int2_ord_ore + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int2_ord_ore, RIGHTARG = jsonb + LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.int2_ord_ore + LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore ); -- AUTOMATICALLY GENERATED FILE. ---! @file v3/scalars/float8/float8_types.sql ---! @brief Encrypted-domain types for float8. - -DO $$ -BEGIN - --! @brief Encrypted domain eql_v3.float8. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'float8' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.float8 AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.float8_eq. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'float8_eq' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.float8_eq AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'hm' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.float8_ord_ore. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'float8_ord_ore' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.float8_ord_ore AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.float8_ord. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'float8_ord' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.float8_ord AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; -END -$$; --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/float8/float8_ord_ore_functions.sql ---! @brief Functions for eql_v3.float8_ord_ore. +--! @file encrypted_domain/float8/float8_ord_functions.sql +--! @brief Functions for eql_v3.float8_ord. ---! @brief Index extractor for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Index extractor for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.ord_term(a eql_v3.float8_ord) RETURNS eql_v3.ore_block_256 LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore ---! @param b eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.eq(a eql_v3.float8_ord, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.float8_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.eq(a eql_v3.float8_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.float8_ord) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @brief Operator wrapper for eql_v3.float8_ord. --! @param a jsonb ---! @param b eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) = eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) = eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore ---! @param b eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.neq(a eql_v3.float8_ord, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.float8_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.neq(a eql_v3.float8_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.float8_ord) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @brief Operator wrapper for eql_v3.float8_ord. --! @param a jsonb ---! @param b eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) <> eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) <> eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore ---! @param b eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.lt(a eql_v3.float8_ord, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.float8_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.lt(a eql_v3.float8_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.float8_ord) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @brief Operator wrapper for eql_v3.float8_ord. --! @param a jsonb ---! @param b eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) < eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore ---! @param b eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.lte(a eql_v3.float8_ord, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.float8_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.lte(a eql_v3.float8_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.float8_ord) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @brief Operator wrapper for eql_v3.float8_ord. --! @param a jsonb ---! @param b eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) <= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore ---! @param b eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.gt(a eql_v3.float8_ord, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.float8_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.gt(a eql_v3.float8_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.float8_ord) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @brief Operator wrapper for eql_v3.float8_ord. --! @param a jsonb ---! @param b eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) > eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore ---! @param b eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.gte(a eql_v3.float8_ord, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Operator wrapper for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.float8_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.gte(a eql_v3.float8_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.float8_ord_ore) $$; +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.float8_ord) $$; ---! @brief Operator wrapper for eql_v3.float8_ord_ore. +--! @brief Operator wrapper for eql_v3.float8_ord. --! @param a jsonb ---! @param b eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.float8_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord_ore) >= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore ---! @param b eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.contains(a eql_v3.float8_ord, b eql_v3.float8_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.float8_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.float8_ord, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.float8_ord. --! @param a jsonb ---! @param b eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.float8_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore ---! @param b eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8_ord, b eql_v3.float8_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8_ord, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.float8_ord. --! @param a jsonb ---! @param b eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.float8_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param selector text ---! @return eql_v3.float8_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.float8_ord_ore, selector text) -RETURNS eql_v3.float8_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord_ore'; END; $$ +--! @return eql_v3.float8_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.float8_ord, selector text) +RETURNS eql_v3.float8_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param selector integer ---! @return eql_v3.float8_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.float8_ord_ore, selector integer) -RETURNS eql_v3.float8_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord_ore'; END; $$ +--! @return eql_v3.float8_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.float8_ord, selector integer) +RETURNS eql_v3.float8_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.float8_ord. --! @param a jsonb ---! @param selector eql_v3.float8_ord_ore ---! @return eql_v3.float8_ord_ore -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.float8_ord_ore) -RETURNS eql_v3.float8_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord_ore'; END; $$ +--! @param selector eql_v3.float8_ord +--! @return eql_v3.float8_ord +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.float8_ord) +RETURNS eql_v3.float8_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.float8_ord_ore, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.float8_ord, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.float8_ord_ore, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.float8_ord, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.float8_ord. --! @param a jsonb ---! @param selector eql_v3.float8_ord_ore +--! @param selector eql_v3.float8_ord --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.float8_ord) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.float8_ord_ore, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.float8_ord, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.float8_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.float8_ord, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.float8_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.float8_ord, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.float8_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.float8_ord, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.float8_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.float8_ord, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.float8_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.float8_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.float8_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.float8_ord, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord_ore, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord_ore, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord_ore, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.float8_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.float8_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore ---! @param b eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord +--! @param b eql_v3.float8_ord --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.float8_ord_ore, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3."||"(a eql_v3.float8_ord, b eql_v3.float8_ord) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. ---! @param a eql_v3.float8_ord_ore +--! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @param a eql_v3.float8_ord --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.float8_ord_ore, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.float8_ord, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.float8_ord. --! @param a jsonb ---! @param b eql_v3.float8_ord_ore +--! @param b eql_v3.float8_ord --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.float8_ord_ore) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.float8_ord) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/float8/float8_ord_ore_operators.sql ---! @brief Operators for eql_v3.float8_ord_ore. +--! @file encrypted_domain/float8/float8_functions.sql +--! @brief Functions for eql_v3.float8. -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.float8, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.float8, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.float8, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.float8, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.float8, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.float8, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.float8, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.float8, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.float8, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.float8, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.float8, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.float8, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.float8, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.float8, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param b eql_v3.float8 +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.float8) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param selector text +--! @return eql_v3.float8 +CREATE FUNCTION eql_v3."->"(a eql_v3.float8, selector text) +RETURNS eql_v3.float8 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param selector integer +--! @return eql_v3.float8 +CREATE FUNCTION eql_v3."->"(a eql_v3.float8, selector integer) +RETURNS eql_v3.float8 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param selector eql_v3.float8 +--! @return eql_v3.float8 +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.float8) +RETURNS eql_v3.float8 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param selector text +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.float8, selector text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.float8, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param selector eql_v3.float8 +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.float8) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b text +--! @return boolean +CREATE FUNCTION eql_v3."?"(a eql_v3.float8, b text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?|"(a eql_v3.float8, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?&"(a eql_v3.float8, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@?"(a eql_v3.float8, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@@"(a eql_v3.float8, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#>"(a eql_v3.float8, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b text[] +--! @return text +CREATE FUNCTION eql_v3."#>>"(a eql_v3.float8, b text[]) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b text +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.float8, b text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b integer +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.float8, b integer) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.float8, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#-"(a eql_v3.float8, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = eql_v3.float8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b eql_v3.float8 +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.float8, b eql_v3.float8) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.float8_ord_ore, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a eql_v3.float8 +--! @param b jsonb +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.float8, b jsonb) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.float8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.float8. +--! @param a jsonb +--! @param b eql_v3.float8 +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.float8) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8'; END; $$ +LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/float8/float8_ord_functions.sql ---! @brief Functions for eql_v3.float8_ord. +--! @file v3/scalars/date/date_types.sql +--! @brief Encrypted-domain types for date. ---! @brief Index extractor for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +DO $$ +BEGIN + --! @brief Encrypted domain eql_v3.date. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'date' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.date AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.date_eq. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'date_eq' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.date_eq AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'hm' + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.date_ord_ore. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'date_ord_ore' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.date_ord_ore AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.date_ord. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'date_ord' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.date_ord AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; +END +$$; +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/date/date_ord_ore_functions.sql +--! @brief Functions for eql_v3.date_ord_ore. + +--! @brief Index extractor for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.float8_ord) +CREATE FUNCTION eql_v3.ord_term(a eql_v3.date_ord_ore) RETURNS eql_v3.ore_block_256 LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord ---! @param b eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.float8_ord, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.eq(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.float8_ord, b jsonb) +CREATE FUNCTION eql_v3.eq(a eql_v3.date_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.float8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. +--! @brief Operator wrapper for eql_v3.date_ord_ore. --! @param a jsonb ---! @param b eql_v3.float8_ord +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) = eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) = eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord ---! @param b eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.float8_ord, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.neq(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.float8_ord, b jsonb) +CREATE FUNCTION eql_v3.neq(a eql_v3.date_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.float8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. +--! @brief Operator wrapper for eql_v3.date_ord_ore. --! @param a jsonb ---! @param b eql_v3.float8_ord +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) <> eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) <> eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord ---! @param b eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.float8_ord, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.lt(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.float8_ord, b jsonb) +CREATE FUNCTION eql_v3.lt(a eql_v3.date_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.float8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. +--! @brief Operator wrapper for eql_v3.date_ord_ore. --! @param a jsonb ---! @param b eql_v3.float8_ord +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) < eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord ---! @param b eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.float8_ord, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.lte(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.float8_ord, b jsonb) +CREATE FUNCTION eql_v3.lte(a eql_v3.date_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.float8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. +--! @brief Operator wrapper for eql_v3.date_ord_ore. --! @param a jsonb ---! @param b eql_v3.float8_ord +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) <= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord ---! @param b eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.float8_ord, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.gt(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.float8_ord, b jsonb) +CREATE FUNCTION eql_v3.gt(a eql_v3.date_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.float8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. +--! @brief Operator wrapper for eql_v3.date_ord_ore. --! @param a jsonb ---! @param b eql_v3.float8_ord +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) > eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord ---! @param b eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.float8_ord, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.gte(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.float8_ord, b jsonb) +CREATE FUNCTION eql_v3.gte(a eql_v3.date_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.float8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.float8_ord. +--! @brief Operator wrapper for eql_v3.date_ord_ore. --! @param a jsonb ---! @param b eql_v3.float8_ord +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.date_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.float8_ord) >= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord ---! @param b eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.float8_ord, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.contains(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.float8_ord, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.date_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. --! @param a jsonb ---! @param b eql_v3.float8_ord +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.date_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord ---! @param b eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8_ord, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8_ord, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.date_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. --! @param a jsonb ---! @param b eql_v3.float8_ord +--! @param b eql_v3.date_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.date_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param selector text ---! @return eql_v3.float8_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.float8_ord, selector text) -RETURNS eql_v3.float8_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord'; END; $$ +--! @return eql_v3.date_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.date_ord_ore, selector text) +RETURNS eql_v3.date_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param selector integer ---! @return eql_v3.float8_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.float8_ord, selector integer) -RETURNS eql_v3.float8_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord'; END; $$ +--! @return eql_v3.date_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.date_ord_ore, selector integer) +RETURNS eql_v3.date_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. --! @param a jsonb ---! @param selector eql_v3.float8_ord ---! @return eql_v3.float8_ord -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.float8_ord) -RETURNS eql_v3.float8_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8_ord'; END; $$ +--! @param selector eql_v3.date_ord_ore +--! @return eql_v3.date_ord_ore +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.date_ord_ore) +RETURNS eql_v3.date_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.float8_ord, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.date_ord_ore, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.float8_ord, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.date_ord_ore, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. --! @param a jsonb ---! @param selector eql_v3.float8_ord +--! @param selector eql_v3.date_ord_ore --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.float8_ord) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.date_ord_ore) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.float8_ord, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.date_ord_ore, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.float8_ord, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.date_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.float8_ord, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.date_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.float8_ord, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.date_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.float8_ord, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.date_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.float8_ord, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.date_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.float8_ord, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.date_ord_ore, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.date_ord_ore, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.date_ord_ore, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float8_ord, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.date_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.float8_ord, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.date_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord ---! @param b eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore +--! @param b eql_v3.date_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.float8_ord, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3."||"(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. ---! @param a eql_v3.float8_ord +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @param a eql_v3.date_ord_ore --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.float8_ord, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.date_ord_ore, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8_ord. +--! @brief Unsupported operator blocker for eql_v3.date_ord_ore. --! @param a jsonb ---! @param b eql_v3.float8_ord +--! @param b eql_v3.date_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.float8_ord) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.date_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_ord_ore'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/float8/float8_functions.sql ---! @brief Functions for eql_v3.float8. +--! @file encrypted_domain/date/date_eq_functions.sql +--! @brief Functions for eql_v3.date_eq. ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 ---! @param b eql_v3.float8 +--! @brief Index extractor for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @return eql_v3.hmac_256 +CREATE FUNCTION eql_v3.eq_term(a eql_v3.date_eq) +RETURNS eql_v3.hmac_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; + +--! @brief Operator wrapper for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.float8, b eql_v3.float8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.date_eq, b eql_v3.date_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Operator wrapper for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.float8, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.date_eq, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.date_eq) $$; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Operator wrapper for eql_v3.date_eq. --! @param a jsonb ---! @param b eql_v3.float8 +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.float8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.date_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a::eql_v3.date_eq) = eql_v3.eq_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 ---! @param b eql_v3.float8 +--! @brief Operator wrapper for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.float8, b eql_v3.float8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.date_eq, b eql_v3.date_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Operator wrapper for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.float8, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.date_eq, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.date_eq) $$; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Operator wrapper for eql_v3.date_eq. --! @param a jsonb ---! @param b eql_v3.float8 +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.float8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.date_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a::eql_v3.date_eq) <> eql_v3.eq_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 ---! @param b eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.float8, b eql_v3.float8) +CREATE FUNCTION eql_v3.lt(a eql_v3.date_eq, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.float8, b jsonb) +CREATE FUNCTION eql_v3.lt(a eql_v3.date_eq, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Unsupported operator blocker for eql_v3.date_eq. --! @param a jsonb ---! @param b eql_v3.float8 +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.float8) +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 ---! @param b eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.float8, b eql_v3.float8) +CREATE FUNCTION eql_v3.lte(a eql_v3.date_eq, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.float8, b jsonb) +CREATE FUNCTION eql_v3.lte(a eql_v3.date_eq, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Unsupported operator blocker for eql_v3.date_eq. --! @param a jsonb ---! @param b eql_v3.float8 +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.float8) +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 ---! @param b eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.float8, b eql_v3.float8) +CREATE FUNCTION eql_v3.gt(a eql_v3.date_eq, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.float8, b jsonb) +CREATE FUNCTION eql_v3.gt(a eql_v3.date_eq, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Unsupported operator blocker for eql_v3.date_eq. --! @param a jsonb ---! @param b eql_v3.float8 +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.float8) +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 ---! @param b eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.float8, b eql_v3.float8) +CREATE FUNCTION eql_v3.gte(a eql_v3.date_eq, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.float8, b jsonb) +CREATE FUNCTION eql_v3.gte(a eql_v3.date_eq, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Unsupported operator blocker for eql_v3.date_eq. --! @param a jsonb ---! @param b eql_v3.float8 +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.float8) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 ---! @param b eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.float8, b eql_v3.float8) +CREATE FUNCTION eql_v3.contains(a eql_v3.date_eq, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.float8, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.date_eq, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Unsupported operator blocker for eql_v3.date_eq. --! @param a jsonb ---! @param b eql_v3.float8 +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.float8) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 ---! @param b eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8, b eql_v3.float8) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.date_eq, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.float8, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.date_eq, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Unsupported operator blocker for eql_v3.date_eq. --! @param a jsonb ---! @param b eql_v3.float8 +--! @param b eql_v3.date_eq --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.float8) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.date_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param selector text ---! @return eql_v3.float8 -CREATE FUNCTION eql_v3."->"(a eql_v3.float8, selector text) -RETURNS eql_v3.float8 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8'; END; $$ +--! @return eql_v3.date_eq +CREATE FUNCTION eql_v3."->"(a eql_v3.date_eq, selector text) +RETURNS eql_v3.date_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param selector integer ---! @return eql_v3.float8 -CREATE FUNCTION eql_v3."->"(a eql_v3.float8, selector integer) -RETURNS eql_v3.float8 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8'; END; $$ +--! @return eql_v3.date_eq +CREATE FUNCTION eql_v3."->"(a eql_v3.date_eq, selector integer) +RETURNS eql_v3.date_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Unsupported operator blocker for eql_v3.date_eq. --! @param a jsonb ---! @param selector eql_v3.float8 ---! @return eql_v3.float8 -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.float8) -RETURNS eql_v3.float8 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float8'; END; $$ +--! @param selector eql_v3.date_eq +--! @return eql_v3.date_eq +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.date_eq) +RETURNS eql_v3.date_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.float8, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.date_eq, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.float8, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.date_eq, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Unsupported operator blocker for eql_v3.date_eq. --! @param a jsonb ---! @param selector eql_v3.float8 +--! @param selector eql_v3.date_eq --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.float8) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.date_eq) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.float8, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.date_eq, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.float8, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.date_eq, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.float8, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.date_eq, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.float8, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.date_eq, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.float8, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.date_eq, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.float8, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.date_eq, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.float8, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.date_eq, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float8, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.date_eq, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float8, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.date_eq, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float8, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.date_eq, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.float8, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.date_eq, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 ---! @param b eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq +--! @param b eql_v3.date_eq --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.float8, b eql_v3.float8) +CREATE FUNCTION eql_v3."||"(a eql_v3.date_eq, b eql_v3.date_eq) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. ---! @param a eql_v3.float8 +--! @brief Unsupported operator blocker for eql_v3.date_eq. +--! @param a eql_v3.date_eq --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.float8, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.date_eq, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float8. +--! @brief Unsupported operator blocker for eql_v3.date_eq. --! @param a jsonb ---! @param b eql_v3.float8 +--! @param b eql_v3.date_eq --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.float8) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.date_eq) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_eq'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file v3/scalars/date/date_types.sql ---! @brief Encrypted-domain types for date. - -DO $$ -BEGIN - --! @brief Encrypted domain eql_v3.date. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'date' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.date AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE->>'v' = '2' - ); - END IF; +--! @file encrypted_domain/date/date_functions.sql +--! @brief Functions for eql_v3.date. - --! @brief Encrypted domain eql_v3.date_eq. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'date_eq' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.date_eq AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'hm' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.date_ord_ore. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'date_ord_ore' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.date_ord_ore AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.date_ord. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'date_ord' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.date_ord AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; -END -$$; --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/date/date_ord_ore_functions.sql ---! @brief Functions for eql_v3.date_ord_ore. - ---! @brief Index extractor for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.date_ord_ore) -RETURNS eql_v3.ore_block_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; - ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @param b eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.eq(a eql_v3.date, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.date_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; +CREATE FUNCTION eql_v3.eq(a eql_v3.date, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param b eql_v3.date_ord_ore +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) = eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @param b eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.neq(a eql_v3.date, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.date_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; +CREATE FUNCTION eql_v3.neq(a eql_v3.date, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param b eql_v3.date_ord_ore +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) <> eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @param b eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lt(a eql_v3.date, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.date_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; +CREATE FUNCTION eql_v3.lt(a eql_v3.date, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param b eql_v3.date_ord_ore +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) < eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @param b eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lte(a eql_v3.date, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.date_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; +CREATE FUNCTION eql_v3.lte(a eql_v3.date, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param b eql_v3.date_ord_ore +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) <= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @param b eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gt(a eql_v3.date, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.date_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; +CREATE FUNCTION eql_v3.gt(a eql_v3.date, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param b eql_v3.date_ord_ore +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) > eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @param b eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gte(a eql_v3.date, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.date_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.date_ord_ore) $$; +CREATE FUNCTION eql_v3.gte(a eql_v3.date, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param b eql_v3.date_ord_ore +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.date_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.date_ord_ore) >= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.date) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date'; END; $$ +LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @param b eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) +CREATE FUNCTION eql_v3.contains(a eql_v3.date, b eql_v3.date) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.date_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.date, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param b eql_v3.date_ord_ore +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.date_ord_ore) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.date) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @param b eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.date, b eql_v3.date) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.date_ord_ore, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.date, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param b eql_v3.date_ord_ore +--! @param b eql_v3.date --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.date_ord_ore) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.date) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param selector text ---! @return eql_v3.date_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.date_ord_ore, selector text) -RETURNS eql_v3.date_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_ord_ore'; END; $$ +--! @return eql_v3.date +CREATE FUNCTION eql_v3."->"(a eql_v3.date, selector text) +RETURNS eql_v3.date IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param selector integer ---! @return eql_v3.date_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.date_ord_ore, selector integer) -RETURNS eql_v3.date_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_ord_ore'; END; $$ +--! @return eql_v3.date +CREATE FUNCTION eql_v3."->"(a eql_v3.date, selector integer) +RETURNS eql_v3.date IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param selector eql_v3.date_ord_ore ---! @return eql_v3.date_ord_ore -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.date_ord_ore) -RETURNS eql_v3.date_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_ord_ore'; END; $$ +--! @param selector eql_v3.date +--! @return eql_v3.date +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.date) +RETURNS eql_v3.date IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.date_ord_ore, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.date, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.date_ord_ore, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.date, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param selector eql_v3.date_ord_ore +--! @param selector eql_v3.date --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.date_ord_ore) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.date) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.date_ord_ore, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.date, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.date_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.date, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.date_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.date, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.date_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.date, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.date_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.date, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.date_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.date, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.date_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.date, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.date_ord_ore, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.date, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.date_ord_ore, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.date, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.date_ord_ore, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.date, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.date_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.date, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore ---! @param b eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date +--! @param b eql_v3.date --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.date_ord_ore, b eql_v3.date_ord_ore) +CREATE FUNCTION eql_v3."||"(a eql_v3.date, b eql_v3.date) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. ---! @param a eql_v3.date_ord_ore +--! @brief Unsupported operator blocker for eql_v3.date. +--! @param a eql_v3.date --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.date_ord_ore, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.date, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.date. --! @param a jsonb ---! @param b eql_v3.date_ord_ore +--! @param b eql_v3.date --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.date_ord_ore) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.date) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/date/date_eq_functions.sql ---! @brief Functions for eql_v3.date_eq. - ---! @brief Index extractor for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @return eql_v3.hmac_256 -CREATE FUNCTION eql_v3.eq_term(a eql_v3.date_eq) -RETURNS eql_v3.hmac_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; +--! @file encrypted_domain/date/date_ord_ore_operators.sql +--! @brief Operators for eql_v3.date_ord_ore. ---! @brief Operator wrapper for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.date_eq, b eql_v3.date_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.date_eq, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.date_eq) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.date_eq. ---! @param a jsonb ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.date_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.date_eq) = eql_v3.eq_term(b) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.date_eq, b eql_v3.date_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.date_eq, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.date_eq) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.date_eq. ---! @param a jsonb ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.date_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.date_eq) <> eql_v3.eq_term(b) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.date_eq, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.date_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a jsonb ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.date_eq, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.date_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a jsonb ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.date_eq, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.date_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a jsonb ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.date_eq, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.date_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a jsonb ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.date_eq, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.date_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a jsonb ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.date_eq, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.date_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a jsonb ---! @param b eql_v3.date_eq ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.date_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param selector text ---! @return eql_v3.date_eq -CREATE FUNCTION eql_v3."->"(a eql_v3.date_eq, selector text) -RETURNS eql_v3.date_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param selector integer ---! @return eql_v3.date_eq -CREATE FUNCTION eql_v3."->"(a eql_v3.date_eq, selector integer) -RETURNS eql_v3.date_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a jsonb ---! @param selector eql_v3.date_eq ---! @return eql_v3.date_eq -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.date_eq) -RETURNS eql_v3.date_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.date_eq, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.date_eq, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a jsonb ---! @param selector eql_v3.date_eq ---! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.date_eq) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b text ---! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.date_eq, b text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.date_eq, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.date_eq, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.date_eq, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.date_eq, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.date_eq, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b text[] ---! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.date_eq, b text[]) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b text ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.date_eq, b text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b integer ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.date_eq, b integer) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.date_eq, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.date_eq, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b eql_v3.date_eq ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.date_eq, b eql_v3.date_eq) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a eql_v3.date_eq ---! @param b jsonb ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.date_eq, b jsonb) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.date_eq. ---! @param a jsonb ---! @param b eql_v3.date_eq ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.date_eq) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore +); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/date/date_functions.sql ---! @brief Functions for eql_v3.date. +--! @file v3/scalars/numeric/numeric_types.sql +--! @brief Encrypted-domain types for numeric. ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b eql_v3.date +DO $$ +BEGIN + --! @brief Encrypted domain eql_v3.numeric. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'numeric' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.numeric AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.numeric_eq. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'numeric_eq' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.numeric_eq AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'hm' + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.numeric_ord_ore. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'numeric_ord_ore' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.numeric_ord_ore AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.numeric_ord. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'numeric_ord' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.numeric_ord AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; +END +$$; +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/numeric/numeric_ord_ore_functions.sql +--! @brief Functions for eql_v3.numeric_ord_ore. + +--! @brief Index extractor for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @return eql_v3.ore_block_256 +CREATE FUNCTION eql_v3.ord_term(a eql_v3.numeric_ord_ore) +RETURNS eql_v3.ore_block_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; + +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.date, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.date, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.numeric_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param b eql_v3.date +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) = eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.date, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.date, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.numeric_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param b eql_v3.date +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) <> eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.date, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.date, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.numeric_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param b eql_v3.date +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.date, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.date, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.numeric_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param b eql_v3.date +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.date, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.date, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.numeric_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param b eql_v3.date +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.date, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.date, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.numeric_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Operator wrapper for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param b eql_v3.date +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.date) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.date'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.numeric_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.date, b eql_v3.date) +CREATE FUNCTION eql_v3.contains(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.date, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.numeric_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param b eql_v3.date +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.date) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.numeric_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.date, b eql_v3.date) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.date, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.numeric_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param b eql_v3.date +--! @param b eql_v3.numeric_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.date) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.numeric_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param selector text ---! @return eql_v3.date -CREATE FUNCTION eql_v3."->"(a eql_v3.date, selector text) -RETURNS eql_v3.date IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date'; END; $$ +--! @return eql_v3.numeric_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.numeric_ord_ore, selector text) +RETURNS eql_v3.numeric_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param selector integer ---! @return eql_v3.date -CREATE FUNCTION eql_v3."->"(a eql_v3.date, selector integer) -RETURNS eql_v3.date IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date'; END; $$ +--! @return eql_v3.numeric_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.numeric_ord_ore, selector integer) +RETURNS eql_v3.numeric_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param selector eql_v3.date ---! @return eql_v3.date -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.date) -RETURNS eql_v3.date IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.date'; END; $$ +--! @param selector eql_v3.numeric_ord_ore +--! @return eql_v3.numeric_ord_ore +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.numeric_ord_ore) +RETURNS eql_v3.numeric_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.date, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.numeric_ord_ore, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.date, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.numeric_ord_ore, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param selector eql_v3.date +--! @param selector eql_v3.numeric_ord_ore --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.date) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.numeric_ord_ore) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.date, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.numeric_ord_ore, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.date, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.numeric_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.date, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.numeric_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.date, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.numeric_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.date, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.numeric_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.date, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.numeric_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.date, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.numeric_ord_ore, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.date, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_ord_ore, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.date, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_ord_ore, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b text[] +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.date, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.date, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.numeric_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date ---! @param b eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore +--! @param b eql_v3.numeric_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.date, b eql_v3.date) +CREATE FUNCTION eql_v3."||"(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. ---! @param a eql_v3.date +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @param a eql_v3.numeric_ord_ore --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.date, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.numeric_ord_ore, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.date. +--! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. --! @param a jsonb ---! @param b eql_v3.date +--! @param b eql_v3.numeric_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.date) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.numeric_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.date'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_ord_ore'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/date/date_ord_ore_operators.sql ---! @brief Operators for eql_v3.date_ord_ore. - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); +--! @file encrypted_domain/numeric/numeric_eq_functions.sql +--! @brief Functions for eql_v3.numeric_eq. -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); +--! @brief Index extractor for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @return eql_v3.hmac_256 +CREATE FUNCTION eql_v3.eq_term(a eql_v3.numeric_eq) +RETURNS eql_v3.hmac_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); +--! @brief Operator wrapper for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @brief Operator wrapper for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.numeric_eq, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.numeric_eq) $$; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @brief Operator wrapper for eql_v3.numeric_eq. +--! @param a jsonb +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.numeric_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a::eql_v3.numeric_eq) = eql_v3.eq_term(b) $$; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @brief Operator wrapper for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); +--! @brief Operator wrapper for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.numeric_eq, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.numeric_eq) $$; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); +--! @brief Operator wrapper for eql_v3.numeric_eq. +--! @param a jsonb +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.numeric_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a::eql_v3.numeric_eq) <> eql_v3.eq_term(b) $$; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.numeric_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a jsonb +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.numeric_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a jsonb +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.numeric_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a jsonb +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.numeric_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a jsonb +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.numeric_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a jsonb +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.numeric_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a jsonb +--! @param b eql_v3.numeric_eq +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.numeric_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param selector text +--! @return eql_v3.numeric_eq +CREATE FUNCTION eql_v3."->"(a eql_v3.numeric_eq, selector text) +RETURNS eql_v3.numeric_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param selector integer +--! @return eql_v3.numeric_eq +CREATE FUNCTION eql_v3."->"(a eql_v3.numeric_eq, selector integer) +RETURNS eql_v3.numeric_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a jsonb +--! @param selector eql_v3.numeric_eq +--! @return eql_v3.numeric_eq +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.numeric_eq) +RETURNS eql_v3.numeric_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param selector text +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.numeric_eq, selector text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.numeric_eq, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a jsonb +--! @param selector eql_v3.numeric_eq +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.numeric_eq) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b text +--! @return boolean +CREATE FUNCTION eql_v3."?"(a eql_v3.numeric_eq, b text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?|"(a eql_v3.numeric_eq, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?&"(a eql_v3.numeric_eq, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@?"(a eql_v3.numeric_eq, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@@"(a eql_v3.numeric_eq, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#>"(a eql_v3.numeric_eq, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b text[] +--! @return text +CREATE FUNCTION eql_v3."#>>"(a eql_v3.numeric_eq, b text[]) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = text[] +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b text +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_eq, b text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b integer +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_eq, b integer) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_eq, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#-"(a eql_v3.numeric_eq, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b eql_v3.numeric_eq +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a eql_v3.numeric_eq +--! @param b jsonb +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.numeric_eq, b jsonb) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @param a jsonb +--! @param b eql_v3.numeric_eq +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.numeric_eq) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_eq'; END; $$ +LANGUAGE plpgsql; +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/numeric/numeric_ord_ore_operators.sql +--! @brief Operators for eql_v3.numeric_ord_ore. + +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = eql_v3.date_ord_ore +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.date_ord_ore, RIGHTARG = jsonb +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.date_ord_ore +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); --- AUTOMATICALLY GENERATED FILE. ---! @file v3/scalars/numeric/numeric_types.sql ---! @brief Encrypted-domain types for numeric. +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); -DO $$ -BEGIN - --! @brief Encrypted domain eql_v3.numeric. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'numeric' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.numeric AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE->>'v' = '2' - ); - END IF; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); - --! @brief Encrypted domain eql_v3.numeric_eq. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'numeric_eq' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.numeric_eq AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'hm' - AND VALUE->>'v' = '2' - ); - END IF; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); - --! @brief Encrypted domain eql_v3.numeric_ord_ore. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'numeric_ord_ore' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.numeric_ord_ore AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); - --! @brief Encrypted domain eql_v3.numeric_ord. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'numeric_ord' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.numeric_ord AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; -END -$$; --- AUTOMATICALLY GENERATED FILE. +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @file encrypted_domain/numeric/numeric_ord_ore_functions.sql ---! @brief Functions for eql_v3.numeric_ord_ore. +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Index extractor for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.numeric_ord_ore) -RETURNS eql_v3.ore_block_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.numeric_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) = eql_v3.ord_term(b) $$; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.numeric_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) <> eql_v3.ord_term(b) $$; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.numeric_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) < eql_v3.ord_term(b) $$; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.numeric_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) <= eql_v3.ord_term(b) $$; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.numeric_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) > eql_v3.ord_term(b) $$; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = integer +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.numeric_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.numeric_ord_ore) $$; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text +); ---! @brief Operator wrapper for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.numeric_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.numeric_ord_ore) >= eql_v3.ord_term(b) $$; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.numeric_ord_ore, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.numeric_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.numeric_ord_ore, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param b eql_v3.numeric_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.numeric_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param selector text ---! @return eql_v3.numeric_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.numeric_ord_ore, selector text) -RETURNS eql_v3.numeric_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param selector integer ---! @return eql_v3.numeric_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.numeric_ord_ore, selector integer) -RETURNS eql_v3.numeric_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param selector eql_v3.numeric_ord_ore ---! @return eql_v3.numeric_ord_ore -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.numeric_ord_ore) -RETURNS eql_v3.numeric_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.numeric_ord_ore, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_ord_ore'; END; $$ +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = integer +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] +); + +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore +); +-- AUTOMATICALLY GENERATED FILE. + +--! @file v3/scalars/bool/bool_types.sql +--! @brief Encrypted-domain types for bool. + +DO $$ +BEGIN + --! @brief Encrypted domain eql_v3.bool. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'bool' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.bool AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE->>'v' = '2' + ); + END IF; +END +$$; +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/bool/bool_functions.sql +--! @brief Functions for eql_v3.bool. + +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b eql_v3.bool +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.bool, b eql_v3.bool) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.numeric_ord_ore, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.bool, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.bool. --! @param a jsonb ---! @param selector eql_v3.numeric_ord_ore ---! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.numeric_ord_ore) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_ord_ore'; END; $$ +--! @param b eql_v3.bool +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.bool) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b text +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.numeric_ord_ore, b text) +CREATE FUNCTION eql_v3.neq(a eql_v3.bool, b eql_v3.bool) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.numeric_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b text[] +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.numeric_ord_ore, b text[]) +CREATE FUNCTION eql_v3.neq(a eql_v3.bool, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.numeric_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b text[] +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a jsonb +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.numeric_ord_ore, b text[]) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.bool) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.numeric_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonpath +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.numeric_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3.lt(a eql_v3.bool, b eql_v3.bool) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.numeric_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonpath +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.numeric_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3.lt(a eql_v3.bool, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.numeric_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.numeric_ord_ore, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.numeric_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a jsonb +--! @param b eql_v3.bool +--! @return boolean +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.bool) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b text[] ---! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.numeric_ord_ore, b text[]) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.numeric_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b eql_v3.bool +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.bool, b eql_v3.bool) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b text ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_ord_ore, b text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.bool, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b integer ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_ord_ore, b integer) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a jsonb +--! @param b eql_v3.bool +--! @return boolean +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.bool) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_ord_ore, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b eql_v3.bool +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.bool, b eql_v3.bool) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.numeric_ord_ore, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.numeric_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.bool, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b eql_v3.numeric_ord_ore ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.numeric_ord_ore, b eql_v3.numeric_ord_ore) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a eql_v3.numeric_ord_ore ---! @param b jsonb ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.numeric_ord_ore, b jsonb) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_ord_ore. ---! @param a jsonb ---! @param b eql_v3.numeric_ord_ore ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.numeric_ord_ore) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_ord_ore'; END; $$ -LANGUAGE plpgsql; --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/numeric/numeric_eq_functions.sql ---! @brief Functions for eql_v3.numeric_eq. - ---! @brief Index extractor for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @return eql_v3.hmac_256 -CREATE FUNCTION eql_v3.eq_term(a eql_v3.numeric_eq) -RETURNS eql_v3.hmac_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; - ---! @brief Operator wrapper for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b eql_v3.numeric_eq ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.numeric_eq, b eql_v3.numeric_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; - ---! @brief Operator wrapper for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.numeric_eq, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.numeric_eq) $$; - ---! @brief Operator wrapper for eql_v3.numeric_eq. ---! @param a jsonb ---! @param b eql_v3.numeric_eq ---! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.numeric_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.numeric_eq) = eql_v3.eq_term(b) $$; - ---! @brief Operator wrapper for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b eql_v3.numeric_eq ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.numeric_eq, b eql_v3.numeric_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; - ---! @brief Operator wrapper for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.numeric_eq, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.numeric_eq) $$; - ---! @brief Operator wrapper for eql_v3.numeric_eq. +--! @brief Unsupported operator blocker for eql_v3.bool. --! @param a jsonb ---! @param b eql_v3.numeric_eq +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.numeric_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.numeric_eq) <> eql_v3.eq_term(b) $$; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.bool) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.bool'; END; $$ +LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +CREATE FUNCTION eql_v3.gte(a eql_v3.bool, b eql_v3.bool) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.numeric_eq, b jsonb) +CREATE FUNCTION eql_v3.gte(a eql_v3.bool, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @brief Unsupported operator blocker for eql_v3.bool. --! @param a jsonb ---! @param b eql_v3.numeric_eq +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.numeric_eq) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.bool) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +CREATE FUNCTION eql_v3.contains(a eql_v3.bool, b eql_v3.bool) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.numeric_eq, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.bool, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @brief Unsupported operator blocker for eql_v3.bool. --! @param a jsonb ---! @param b eql_v3.numeric_eq +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.numeric_eq) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.bool) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.bool, b eql_v3.bool) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.numeric_eq, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.bool, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @brief Unsupported operator blocker for eql_v3.bool. --! @param a jsonb ---! @param b eql_v3.numeric_eq +--! @param b eql_v3.bool --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.numeric_eq) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.bool) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b eql_v3.numeric_eq ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.numeric_eq, b eql_v3.numeric_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.numeric_eq'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param selector text +--! @return eql_v3.bool +CREATE FUNCTION eql_v3."->"(a eql_v3.bool, selector text) +RETURNS eql_v3.bool IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.numeric_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.numeric_eq'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param selector integer +--! @return eql_v3.bool +CREATE FUNCTION eql_v3."->"(a eql_v3.bool, selector integer) +RETURNS eql_v3.bool IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @brief Unsupported operator blocker for eql_v3.bool. --! @param a jsonb ---! @param b eql_v3.numeric_eq ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.numeric_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.numeric_eq'; END; $$ +--! @param selector eql_v3.bool +--! @return eql_v3.bool +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.bool) +RETURNS eql_v3.bool IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b eql_v3.numeric_eq ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.numeric_eq, b eql_v3.numeric_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_eq'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param selector text +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.bool, selector text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.numeric_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_eq'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.bool, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @brief Unsupported operator blocker for eql_v3.bool. --! @param a jsonb ---! @param b eql_v3.numeric_eq ---! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.numeric_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.numeric_eq'; END; $$ +--! @param selector eql_v3.bool +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.bool) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b text --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +CREATE FUNCTION eql_v3."?"(a eql_v3.bool, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.numeric_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a jsonb ---! @param b eql_v3.numeric_eq ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.numeric_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.numeric_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param selector text ---! @return eql_v3.numeric_eq -CREATE FUNCTION eql_v3."->"(a eql_v3.numeric_eq, selector text) -RETURNS eql_v3.numeric_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param selector integer ---! @return eql_v3.numeric_eq -CREATE FUNCTION eql_v3."->"(a eql_v3.numeric_eq, selector integer) -RETURNS eql_v3.numeric_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a jsonb ---! @param selector eql_v3.numeric_eq ---! @return eql_v3.numeric_eq -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.numeric_eq) -RETURNS eql_v3.numeric_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.numeric_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.numeric_eq, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.numeric_eq, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a jsonb ---! @param selector eql_v3.numeric_eq ---! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.numeric_eq) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.numeric_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b text ---! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.numeric_eq, b text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.numeric_eq'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.numeric_eq, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.bool, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.numeric_eq, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.bool, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.numeric_eq, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.bool, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.numeric_eq, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.bool, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.numeric_eq, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.bool, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.numeric_eq, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.bool, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_eq, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.bool, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_eq, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.bool, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.numeric_eq, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.bool, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.numeric_eq, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.bool, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq ---! @param b eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool +--! @param b eql_v3.bool --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.numeric_eq, b eql_v3.numeric_eq) +CREATE FUNCTION eql_v3."||"(a eql_v3.bool, b eql_v3.bool) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. ---! @param a eql_v3.numeric_eq +--! @brief Unsupported operator blocker for eql_v3.bool. +--! @param a eql_v3.bool --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.numeric_eq, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.bool, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.numeric_eq. +--! @brief Unsupported operator blocker for eql_v3.bool. --! @param a jsonb ---! @param b eql_v3.numeric_eq +--! @param b eql_v3.bool --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.numeric_eq) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.bool) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.numeric_eq'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.bool'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/numeric/numeric_ord_ore_operators.sql ---! @brief Operators for eql_v3.numeric_ord_ore. +--! @file v3/scalars/int8/int8_types.sql +--! @brief Encrypted-domain types for int8. -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); +DO $$ +BEGIN + --! @brief Encrypted domain eql_v3.int8. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'int8' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.int8 AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE->>'v' = '2' + ); + END IF; -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); + --! @brief Encrypted domain eql_v3.int8_eq. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'int8_eq' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.int8_eq AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'hm' + AND VALUE->>'v' = '2' + ); + END IF; -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); + --! @brief Encrypted domain eql_v3.int8_ord_ore. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'int8_ord_ore' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.int8_ord_ore AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = integer -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = integer -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore -); - -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonpath -); - -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonpath -); - -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = integer -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = eql_v3.numeric_ord_ore -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.numeric_ord_ore, RIGHTARG = jsonb -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.numeric_ord_ore -); --- AUTOMATICALLY GENERATED FILE. - ---! @file v3/scalars/bool/bool_types.sql ---! @brief Encrypted-domain types for bool. - -DO $$ -BEGIN - --! @brief Encrypted domain eql_v3.bool. + --! @brief Encrypted domain eql_v3.int8_ord. IF NOT EXISTS ( SELECT 1 FROM pg_type - WHERE typname = 'bool' AND typnamespace = 'eql_v3'::regnamespace + WHERE typname = 'int8_ord' AND typnamespace = 'eql_v3'::regnamespace ) THEN - CREATE DOMAIN eql_v3.bool AS jsonb + CREATE DOMAIN eql_v3.int8_ord AS jsonb CHECK ( jsonb_typeof(VALUE) = 'object' AND VALUE ? 'v' AND VALUE ? 'i' AND VALUE ? 'c' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 AND VALUE->>'v' = '2' ); END IF; @@ -9492,3628 +8301,3153 @@ END $$; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/bool/bool_functions.sql ---! @brief Functions for eql_v3.bool. +--! @file encrypted_domain/int8/int8_functions.sql +--! @brief Functions for eql_v3.int8. ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool ---! @param b eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.bool, b eql_v3.bool) +CREATE FUNCTION eql_v3.eq(a eql_v3.int8, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.bool, b jsonb) +CREATE FUNCTION eql_v3.eq(a eql_v3.int8, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param b eql_v3.bool +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.bool) +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool ---! @param b eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.bool, b eql_v3.bool) +CREATE FUNCTION eql_v3.neq(a eql_v3.int8, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.bool, b jsonb) +CREATE FUNCTION eql_v3.neq(a eql_v3.int8, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param b eql_v3.bool +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.bool) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool ---! @param b eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.bool, b eql_v3.bool) +CREATE FUNCTION eql_v3.lt(a eql_v3.int8, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.bool, b jsonb) +CREATE FUNCTION eql_v3.lt(a eql_v3.int8, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param b eql_v3.bool +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.bool) +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool ---! @param b eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.bool, b eql_v3.bool) +CREATE FUNCTION eql_v3.lte(a eql_v3.int8, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.bool, b jsonb) +CREATE FUNCTION eql_v3.lte(a eql_v3.int8, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param b eql_v3.bool +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.bool) +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool ---! @param b eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.bool, b eql_v3.bool) +CREATE FUNCTION eql_v3.gt(a eql_v3.int8, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.bool, b jsonb) +CREATE FUNCTION eql_v3.gt(a eql_v3.int8, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param b eql_v3.bool +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.bool) +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool ---! @param b eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.bool, b eql_v3.bool) +CREATE FUNCTION eql_v3.gte(a eql_v3.int8, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.bool, b jsonb) +CREATE FUNCTION eql_v3.gte(a eql_v3.int8, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param b eql_v3.bool +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.bool) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool ---! @param b eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.bool, b eql_v3.bool) +CREATE FUNCTION eql_v3.contains(a eql_v3.int8, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.bool, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.int8, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param b eql_v3.bool +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.bool) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool ---! @param b eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.bool, b eql_v3.bool) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int8, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.bool, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int8, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param b eql_v3.bool +--! @param b eql_v3.int8 --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.bool) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int8) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param selector text ---! @return eql_v3.bool -CREATE FUNCTION eql_v3."->"(a eql_v3.bool, selector text) -RETURNS eql_v3.bool IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.bool'; END; $$ +--! @return eql_v3.int8 +CREATE FUNCTION eql_v3."->"(a eql_v3.int8, selector text) +RETURNS eql_v3.int8 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param selector integer ---! @return eql_v3.bool -CREATE FUNCTION eql_v3."->"(a eql_v3.bool, selector integer) -RETURNS eql_v3.bool IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.bool'; END; $$ +--! @return eql_v3.int8 +CREATE FUNCTION eql_v3."->"(a eql_v3.int8, selector integer) +RETURNS eql_v3.int8 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param selector eql_v3.bool ---! @return eql_v3.bool -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.bool) -RETURNS eql_v3.bool IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.bool'; END; $$ +--! @param selector eql_v3.int8 +--! @return eql_v3.int8 +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int8) +RETURNS eql_v3.int8 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.bool, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int8, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.bool, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int8, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param selector eql_v3.bool +--! @param selector eql_v3.int8 --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.bool) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int8) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.bool, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.int8, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.bool, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.int8, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.bool, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.int8, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.bool, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.int8, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.bool, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.int8, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.bool, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.int8, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.bool, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.int8, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.bool, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.int8, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.bool, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.int8, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.bool, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.int8, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.bool, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.int8, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool ---! @param b eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 +--! @param b eql_v3.int8 --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.bool, b eql_v3.bool) +CREATE FUNCTION eql_v3."||"(a eql_v3.int8, b eql_v3.int8) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. ---! @param a eql_v3.bool +--! @brief Unsupported operator blocker for eql_v3.int8. +--! @param a eql_v3.int8 --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.bool, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.int8, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.bool. +--! @brief Unsupported operator blocker for eql_v3.int8. --! @param a jsonb ---! @param b eql_v3.bool +--! @param b eql_v3.int8 --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.bool) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int8) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.bool'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file v3/scalars/int8/int8_types.sql ---! @brief Encrypted-domain types for int8. - -DO $$ -BEGIN - --! @brief Encrypted domain eql_v3.int8. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'int8' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.int8 AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.int8_eq. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'int8_eq' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.int8_eq AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'hm' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.int8_ord_ore. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'int8_ord_ore' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.int8_ord_ore AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.int8_ord. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'int8_ord' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.int8_ord AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; -END -$$; --- AUTOMATICALLY GENERATED FILE. +--! @file encrypted_domain/int8/int8_ord_functions.sql +--! @brief Functions for eql_v3.int8_ord. ---! @file encrypted_domain/int8/int8_functions.sql ---! @brief Functions for eql_v3.int8. +--! @brief Index extractor for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @return eql_v3.ore_block_256 +CREATE FUNCTION eql_v3.ord_term(a eql_v3.int8_ord) +RETURNS eql_v3.ore_block_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 ---! @param b eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int8, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.int8_ord, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int8, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.int8_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.int8_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Operator wrapper for eql_v3.int8_ord. --! @param a jsonb ---! @param b eql_v3.int8 +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) = eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 ---! @param b eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int8, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.int8_ord, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int8, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.int8_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.int8_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Operator wrapper for eql_v3.int8_ord. --! @param a jsonb ---! @param b eql_v3.int8 +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) <> eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 ---! @param b eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int8, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.int8_ord, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int8, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.int8_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.int8_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Operator wrapper for eql_v3.int8_ord. --! @param a jsonb ---! @param b eql_v3.int8 +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 ---! @param b eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int8, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.int8_ord, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int8, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.int8_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.int8_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Operator wrapper for eql_v3.int8_ord. --! @param a jsonb ---! @param b eql_v3.int8 +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 ---! @param b eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int8, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.int8_ord, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int8, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.int8_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.int8_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Operator wrapper for eql_v3.int8_ord. --! @param a jsonb ---! @param b eql_v3.int8 +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 ---! @param b eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int8, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.int8_ord, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Operator wrapper for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int8, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.int8_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.int8_ord) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Operator wrapper for eql_v3.int8_ord. --! @param a jsonb ---! @param b eql_v3.int8 +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int8) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int8'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int8_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 ---! @param b eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int8, b eql_v3.int8) +CREATE FUNCTION eql_v3.contains(a eql_v3.int8_ord, b eql_v3.int8_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int8, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.int8_ord, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Unsupported operator blocker for eql_v3.int8_ord. --! @param a jsonb ---! @param b eql_v3.int8 +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int8) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int8_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 ---! @param b eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int8, b eql_v3.int8) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int8_ord, b eql_v3.int8_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int8, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int8_ord, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Unsupported operator blocker for eql_v3.int8_ord. --! @param a jsonb ---! @param b eql_v3.int8 +--! @param b eql_v3.int8_ord --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int8) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int8_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param selector text ---! @return eql_v3.int8 -CREATE FUNCTION eql_v3."->"(a eql_v3.int8, selector text) -RETURNS eql_v3.int8 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8'; END; $$ +--! @return eql_v3.int8_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.int8_ord, selector text) +RETURNS eql_v3.int8_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param selector integer ---! @return eql_v3.int8 -CREATE FUNCTION eql_v3."->"(a eql_v3.int8, selector integer) -RETURNS eql_v3.int8 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8'; END; $$ +--! @return eql_v3.int8_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.int8_ord, selector integer) +RETURNS eql_v3.int8_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Unsupported operator blocker for eql_v3.int8_ord. --! @param a jsonb ---! @param selector eql_v3.int8 ---! @return eql_v3.int8 -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int8) -RETURNS eql_v3.int8 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8'; END; $$ +--! @param selector eql_v3.int8_ord +--! @return eql_v3.int8_ord +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int8_ord) +RETURNS eql_v3.int8_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int8, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int8_ord, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int8, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int8_ord, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Unsupported operator blocker for eql_v3.int8_ord. --! @param a jsonb ---! @param selector eql_v3.int8 +--! @param selector eql_v3.int8_ord --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int8) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int8_ord) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.int8, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.int8_ord, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.int8, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.int8_ord, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.int8, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.int8_ord, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.int8, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.int8_ord, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.int8, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.int8_ord, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.int8, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.int8_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.int8, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.int8_ord, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int8, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.int8_ord, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int8, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.int8_ord, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int8, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.int8_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.int8, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.int8_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 ---! @param b eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord +--! @param b eql_v3.int8_ord --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int8, b eql_v3.int8) +CREATE FUNCTION eql_v3."||"(a eql_v3.int8_ord, b eql_v3.int8_ord) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. ---! @param a eql_v3.int8 +--! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @param a eql_v3.int8_ord --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int8, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.int8_ord, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8. +--! @brief Unsupported operator blocker for eql_v3.int8_ord. --! @param a jsonb ---! @param b eql_v3.int8 +--! @param b eql_v3.int8_ord --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int8) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int8_ord) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8_ord'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/int8/int8_ord_functions.sql ---! @brief Functions for eql_v3.int8_ord. +--! @file v3/scalars/text/text_types.sql +--! @brief Encrypted-domain types for text. ---! @brief Index extractor for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +DO $$ +BEGIN + --! @brief Encrypted domain eql_v3.text. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'text' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.text AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.text_eq. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'text_eq' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.text_eq AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'hm' + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.text_match. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'text_match' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.text_match AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'bf' + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.text_ord_ore. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'text_ord_ore' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.text_ord_ore AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'hm' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.text_ord. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'text_ord' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.text_ord AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'hm' + AND VALUE ? 'ob' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; + + --! @brief Encrypted domain eql_v3.text_search. + IF NOT EXISTS ( + SELECT 1 FROM pg_type + WHERE typname = 'text_search' AND typnamespace = 'eql_v3'::regnamespace + ) THEN + CREATE DOMAIN eql_v3.text_search AS jsonb + CHECK ( + jsonb_typeof(VALUE) = 'object' + AND VALUE ? 'v' + AND VALUE ? 'i' + AND VALUE ? 'c' + AND VALUE ? 'hm' + AND VALUE ? 'ob' + AND VALUE ? 'bf' + AND jsonb_typeof(VALUE -> 'ob') = 'array' + AND jsonb_array_length(VALUE -> 'ob') > 0 + AND VALUE->>'v' = '2' + ); + END IF; +END +$$; +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/text/text_ord_functions.sql +--! @brief Functions for eql_v3.text_ord. + +--! @brief Index extractor for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @return eql_v3.hmac_256 +CREATE FUNCTION eql_v3.eq_term(a eql_v3.text_ord) +RETURNS eql_v3.hmac_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; + +--! @brief Index extractor for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.int8_ord) +CREATE FUNCTION eql_v3.ord_term(a eql_v3.text_ord) RETURNS eql_v3.ore_block_256 LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord ---! @param b eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int8_ord, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.eq(a eql_v3.text_ord, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int8_ord, b jsonb) +CREATE FUNCTION eql_v3.eq(a eql_v3.text_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.int8_ord) $$; +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.text_ord) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. +--! @brief Operator wrapper for eql_v3.text_ord. --! @param a jsonb ---! @param b eql_v3.int8_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) = eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_ord) = eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord ---! @param b eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int8_ord, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.neq(a eql_v3.text_ord, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int8_ord, b jsonb) +CREATE FUNCTION eql_v3.neq(a eql_v3.text_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.int8_ord) $$; +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.text_ord) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. +--! @brief Operator wrapper for eql_v3.text_ord. --! @param a jsonb ---! @param b eql_v3.int8_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) <> eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_ord) <> eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord ---! @param b eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int8_ord, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.lt(a eql_v3.text_ord, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int8_ord, b jsonb) +CREATE FUNCTION eql_v3.lt(a eql_v3.text_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.int8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.text_ord) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. +--! @brief Operator wrapper for eql_v3.text_ord. --! @param a jsonb ---! @param b eql_v3.int8_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) < eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord ---! @param b eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int8_ord, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.lte(a eql_v3.text_ord, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int8_ord, b jsonb) +CREATE FUNCTION eql_v3.lte(a eql_v3.text_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.int8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.text_ord) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. +--! @brief Operator wrapper for eql_v3.text_ord. --! @param a jsonb ---! @param b eql_v3.int8_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) <= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord ---! @param b eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int8_ord, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.gt(a eql_v3.text_ord, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int8_ord, b jsonb) +CREATE FUNCTION eql_v3.gt(a eql_v3.text_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.int8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.text_ord) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. +--! @brief Operator wrapper for eql_v3.text_ord. --! @param a jsonb ---! @param b eql_v3.int8_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) > eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord ---! @param b eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int8_ord, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.gte(a eql_v3.text_ord, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Operator wrapper for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int8_ord, b jsonb) +CREATE FUNCTION eql_v3.gte(a eql_v3.text_ord, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.int8_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.text_ord) $$; ---! @brief Operator wrapper for eql_v3.int8_ord. +--! @brief Operator wrapper for eql_v3.text_ord. --! @param a jsonb ---! @param b eql_v3.int8_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_ord) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int8_ord) >= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord ---! @param b eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int8_ord, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.contains(a eql_v3.text_ord, b eql_v3.text_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int8_ord, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.text_ord, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord. --! @param a jsonb ---! @param b eql_v3.int8_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord ---! @param b eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int8_ord, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_ord, b eql_v3.text_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int8_ord, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_ord, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord. --! @param a jsonb ---! @param b eql_v3.int8_ord +--! @param b eql_v3.text_ord --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_ord) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param selector text ---! @return eql_v3.int8_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.int8_ord, selector text) -RETURNS eql_v3.int8_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8_ord'; END; $$ +--! @return eql_v3.text_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.text_ord, selector text) +RETURNS eql_v3.text_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param selector integer ---! @return eql_v3.int8_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.int8_ord, selector integer) -RETURNS eql_v3.int8_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8_ord'; END; $$ +--! @return eql_v3.text_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.text_ord, selector integer) +RETURNS eql_v3.text_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord. --! @param a jsonb ---! @param selector eql_v3.int8_ord ---! @return eql_v3.int8_ord -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int8_ord) -RETURNS eql_v3.int8_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int8_ord'; END; $$ +--! @param selector eql_v3.text_ord +--! @return eql_v3.text_ord +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_ord) +RETURNS eql_v3.text_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int8_ord, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_ord, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int8_ord, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_ord, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord. --! @param a jsonb ---! @param selector eql_v3.int8_ord +--! @param selector eql_v3.text_ord --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int8_ord) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_ord) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.int8_ord, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.text_ord, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.int8_ord, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.text_ord, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.int8_ord, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.text_ord, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.int8_ord, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.text_ord, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.int8_ord, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.text_ord, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.int8_ord, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.text_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.int8_ord, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_ord, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int8_ord, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int8_ord, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int8_ord, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.int8_ord, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.text_ord, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord ---! @param b eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord +--! @param b eql_v3.text_ord --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int8_ord, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_ord, b eql_v3.text_ord) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. ---! @param a eql_v3.int8_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @param a eql_v3.text_ord --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int8_ord, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_ord, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord. --! @param a jsonb ---! @param b eql_v3.int8_ord +--! @param b eql_v3.text_ord --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int8_ord) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_ord) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file v3/scalars/text/text_types.sql ---! @brief Encrypted-domain types for text. - -DO $$ -BEGIN - --! @brief Encrypted domain eql_v3.text. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'text' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.text AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.text_eq. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'text_eq' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.text_eq AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'hm' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.text_match. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'text_match' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.text_match AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'bf' - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.text_ord_ore. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'text_ord_ore' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.text_ord_ore AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'hm' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.text_ord. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'text_ord' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.text_ord AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'hm' - AND VALUE ? 'ob' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; - - --! @brief Encrypted domain eql_v3.text_search. - IF NOT EXISTS ( - SELECT 1 FROM pg_type - WHERE typname = 'text_search' AND typnamespace = 'eql_v3'::regnamespace - ) THEN - CREATE DOMAIN eql_v3.text_search AS jsonb - CHECK ( - jsonb_typeof(VALUE) = 'object' - AND VALUE ? 'v' - AND VALUE ? 'i' - AND VALUE ? 'c' - AND VALUE ? 'hm' - AND VALUE ? 'ob' - AND VALUE ? 'bf' - AND jsonb_typeof(VALUE -> 'ob') = 'array' - AND jsonb_array_length(VALUE -> 'ob') > 0 - AND VALUE->>'v' = '2' - ); - END IF; -END -$$; --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/text/text_ord_functions.sql ---! @brief Functions for eql_v3.text_ord. +--! @file encrypted_domain/text/text_ord_ore_functions.sql +--! @brief Functions for eql_v3.text_ord_ore. ---! @brief Index extractor for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Index extractor for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @return eql_v3.hmac_256 -CREATE FUNCTION eql_v3.eq_term(a eql_v3.text_ord) +CREATE FUNCTION eql_v3.eq_term(a eql_v3.text_ord_ore) RETURNS eql_v3.hmac_256 LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; ---! @brief Index extractor for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Index extractor for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.text_ord) +CREATE FUNCTION eql_v3.ord_term(a eql_v3.text_ord_ore) RETURNS eql_v3.ore_block_256 LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord ---! @param b eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_ord, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.eq(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_ord, b jsonb) +CREATE FUNCTION eql_v3.eq(a eql_v3.text_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.text_ord) $$; +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.text_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.text_ord. +--! @brief Operator wrapper for eql_v3.text_ord_ore. --! @param a jsonb ---! @param b eql_v3.text_ord +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_ord) = eql_v3.eq_term(b) $$; +AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_ord_ore) = eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord ---! @param b eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_ord, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.neq(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_ord, b jsonb) +CREATE FUNCTION eql_v3.neq(a eql_v3.text_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.text_ord) $$; +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.text_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.text_ord. +--! @brief Operator wrapper for eql_v3.text_ord_ore. --! @param a jsonb ---! @param b eql_v3.text_ord +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_ord) <> eql_v3.eq_term(b) $$; +AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_ord_ore) <> eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord ---! @param b eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_ord, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.lt(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_ord, b jsonb) +CREATE FUNCTION eql_v3.lt(a eql_v3.text_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.text_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.text_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.text_ord. +--! @brief Operator wrapper for eql_v3.text_ord_ore. --! @param a jsonb ---! @param b eql_v3.text_ord +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord) < eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord_ore) < eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord ---! @param b eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_ord, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.lte(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_ord, b jsonb) +CREATE FUNCTION eql_v3.lte(a eql_v3.text_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.text_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.text_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.text_ord. +--! @brief Operator wrapper for eql_v3.text_ord_ore. --! @param a jsonb ---! @param b eql_v3.text_ord +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord) <= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord_ore) <= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord ---! @param b eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_ord, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.gt(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_ord, b jsonb) +CREATE FUNCTION eql_v3.gt(a eql_v3.text_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.text_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.text_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.text_ord. +--! @brief Operator wrapper for eql_v3.text_ord_ore. --! @param a jsonb ---! @param b eql_v3.text_ord +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord) > eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord_ore) > eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord ---! @param b eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_ord, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.gte(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_ord, b jsonb) +CREATE FUNCTION eql_v3.gte(a eql_v3.text_ord_ore, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.text_ord) $$; +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.text_ord_ore) $$; ---! @brief Operator wrapper for eql_v3.text_ord. +--! @brief Operator wrapper for eql_v3.text_ord_ore. --! @param a jsonb ---! @param b eql_v3.text_ord +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_ord_ore) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord) >= eql_v3.ord_term(b) $$; +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord_ore) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord ---! @param b eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_ord, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.contains(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_ord, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.text_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. --! @param a jsonb ---! @param b eql_v3.text_ord +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord ---! @param b eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_ord, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_ord, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. --! @param a jsonb ---! @param b eql_v3.text_ord +--! @param b eql_v3.text_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_ord) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param selector text ---! @return eql_v3.text_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.text_ord, selector text) -RETURNS eql_v3.text_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord'; END; $$ +--! @return eql_v3.text_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.text_ord_ore, selector text) +RETURNS eql_v3.text_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param selector integer ---! @return eql_v3.text_ord -CREATE FUNCTION eql_v3."->"(a eql_v3.text_ord, selector integer) -RETURNS eql_v3.text_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord'; END; $$ +--! @return eql_v3.text_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.text_ord_ore, selector integer) +RETURNS eql_v3.text_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. --! @param a jsonb ---! @param selector eql_v3.text_ord ---! @return eql_v3.text_ord -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_ord) -RETURNS eql_v3.text_ord IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord'; END; $$ +--! @param selector eql_v3.text_ord_ore +--! @return eql_v3.text_ord_ore +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_ord_ore) +RETURNS eql_v3.text_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_ord, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_ord_ore, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_ord, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_ord_ore, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. --! @param a jsonb ---! @param selector eql_v3.text_ord +--! @param selector eql_v3.text_ord_ore --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_ord) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_ord_ore) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.text_ord, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.text_ord_ore, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.text_ord, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.text_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.text_ord, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.text_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.text_ord, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.text_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.text_ord, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.text_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.text_ord, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.text_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_ord, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_ord_ore, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord_ore, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord_ore, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.text_ord, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.text_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord ---! @param b eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore +--! @param b eql_v3.text_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_ord, b eql_v3.text_ord) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. ---! @param a eql_v3.text_ord +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @param a eql_v3.text_ord_ore --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_ord, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_ord_ore, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord. +--! @brief Unsupported operator blocker for eql_v3.text_ord_ore. --! @param a jsonb ---! @param b eql_v3.text_ord +--! @param b eql_v3.text_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_ord) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord_ore'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_ord_ore_functions.sql ---! @brief Functions for eql_v3.text_ord_ore. - ---! @brief Index extractor for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @return eql_v3.hmac_256 -CREATE FUNCTION eql_v3.eq_term(a eql_v3.text_ord_ore) -RETURNS eql_v3.hmac_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; +--! @file encrypted_domain/text/text_match_functions.sql +--! @brief Functions for eql_v3.text_match. ---! @brief Index extractor for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.text_ord_ore) -RETURNS eql_v3.ore_block_256 +--! @brief Index extractor for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @return eql_v3.bloom_filter +CREATE FUNCTION eql_v3.match_term(a eql_v3.text_match) +RETURNS eql_v3.bloom_filter LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; +AS $$ SELECT eql_v3.bloom_filter(a::jsonb) $$; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @param b eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; +CREATE FUNCTION eql_v3.eq(a eql_v3.text_match, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.text_ord_ore) $$; +CREATE FUNCTION eql_v3.eq(a eql_v3.text_match, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text_match. --! @param a jsonb ---! @param b eql_v3.text_ord_ore +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_ord_ore) = eql_v3.eq_term(b) $$; +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @param b eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; +CREATE FUNCTION eql_v3.neq(a eql_v3.text_match, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.text_ord_ore) $$; +CREATE FUNCTION eql_v3.neq(a eql_v3.text_match, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text_match. --! @param a jsonb ---! @param b eql_v3.text_ord_ore +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_ord_ore) <> eql_v3.eq_term(b) $$; +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @param b eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lt(a eql_v3.text_match, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.text_ord_ore) $$; +CREATE FUNCTION eql_v3.lt(a eql_v3.text_match, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text_match. --! @param a jsonb ---! @param b eql_v3.text_ord_ore +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord_ore) < eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @param b eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lte(a eql_v3.text_match, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.text_ord_ore) $$; +CREATE FUNCTION eql_v3.lte(a eql_v3.text_match, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text_match. --! @param a jsonb ---! @param b eql_v3.text_ord_ore +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord_ore) <= eql_v3.ord_term(b) $$; - ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @param b eql_v3.text_ord_ore +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gt(a eql_v3.text_match, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.text_ord_ore) $$; +CREATE FUNCTION eql_v3.gt(a eql_v3.text_match, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text_match. --! @param a jsonb ---! @param b eql_v3.text_ord_ore +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord_ore) > eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @param b eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gte(a eql_v3.text_match, b eql_v3.text_match) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.text_ord_ore) $$; +CREATE FUNCTION eql_v3.gte(a eql_v3.text_match, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_match'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text_match. --! @param a jsonb ---! @param b eql_v3.text_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_ord_ore) >= eql_v3.ord_term(b) $$; - ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @param b eql_v3.text_ord_ore +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_match) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Operator wrapper for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @param b eql_v3.text_match +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.text_match, b eql_v3.text_match) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$; + +--! @brief Operator wrapper for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_ord_ore, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.contains(a eql_v3.text_match, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::eql_v3.text_match) $$; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @brief Operator wrapper for eql_v3.text_match. --! @param a jsonb ---! @param b eql_v3.text_ord_ore +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_match) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.match_term(a::eql_v3.text_match) @> eql_v3.match_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @param b eql_v3.text_ord_ore +--! @brief Operator wrapper for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_match, b eql_v3.text_match) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Operator wrapper for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_ord_ore, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_match, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::eql_v3.text_match) $$; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @brief Operator wrapper for eql_v3.text_match. --! @param a jsonb ---! @param b eql_v3.text_ord_ore +--! @param b eql_v3.text_match --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_ord_ore'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_match) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.match_term(a::eql_v3.text_match) <@ eql_v3.match_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param selector text ---! @return eql_v3.text_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.text_ord_ore, selector text) -RETURNS eql_v3.text_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord_ore'; END; $$ +--! @return eql_v3.text_match +CREATE FUNCTION eql_v3."->"(a eql_v3.text_match, selector text) +RETURNS eql_v3.text_match IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param selector integer ---! @return eql_v3.text_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.text_ord_ore, selector integer) -RETURNS eql_v3.text_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord_ore'; END; $$ +--! @return eql_v3.text_match +CREATE FUNCTION eql_v3."->"(a eql_v3.text_match, selector integer) +RETURNS eql_v3.text_match IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text_match. --! @param a jsonb ---! @param selector eql_v3.text_ord_ore ---! @return eql_v3.text_ord_ore -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_ord_ore) -RETURNS eql_v3.text_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_ord_ore'; END; $$ +--! @param selector eql_v3.text_match +--! @return eql_v3.text_match +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_match) +RETURNS eql_v3.text_match IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_ord_ore, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_match, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_ord_ore, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_match, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text_match. --! @param a jsonb ---! @param selector eql_v3.text_ord_ore +--! @param selector eql_v3.text_match --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_ord_ore) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_match) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.text_ord_ore, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.text_match, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.text_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.text_match, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.text_ord_ore, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.text_match, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.text_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.text_match, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.text_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.text_match, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.text_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.text_match, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_match, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord_ore, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_match, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord_ore, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_match, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_ord_ore, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_match, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.text_ord_ore, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.text_match, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore ---! @param b eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match +--! @param b eql_v3.text_match --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_ord_ore, b eql_v3.text_ord_ore) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_match, b eql_v3.text_match) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. ---! @param a eql_v3.text_ord_ore +--! @brief Unsupported operator blocker for eql_v3.text_match. +--! @param a eql_v3.text_match --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_ord_ore, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_match, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text_match. --! @param a jsonb ---! @param b eql_v3.text_ord_ore +--! @param b eql_v3.text_match --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_ord_ore) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_match) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_match'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_match_functions.sql ---! @brief Functions for eql_v3.text_match. +--! @file encrypted_domain/text/text_search_functions.sql +--! @brief Functions for eql_v3.text_search. ---! @brief Index extractor for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Index extractor for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @return eql_v3.hmac_256 +CREATE FUNCTION eql_v3.eq_term(a eql_v3.text_search) +RETURNS eql_v3.hmac_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; + +--! @brief Index extractor for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @return eql_v3.ore_block_256 +CREATE FUNCTION eql_v3.ord_term(a eql_v3.text_search) +RETURNS eql_v3.ore_block_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; + +--! @brief Index extractor for eql_v3.text_search. +--! @param a eql_v3.text_search --! @return eql_v3.bloom_filter -CREATE FUNCTION eql_v3.match_term(a eql_v3.text_match) +CREATE FUNCTION eql_v3.match_term(a eql_v3.text_search) RETURNS eql_v3.bloom_filter LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.bloom_filter(a::jsonb) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match ---! @param b eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_match, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.text_search, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_match, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.text_search, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.text_search) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. +--! @brief Operator wrapper for eql_v3.text_search. --! @param a jsonb ---! @param b eql_v3.text_match +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_search) = eql_v3.eq_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match ---! @param b eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_match, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.text_search, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_match, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.text_search, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.text_search) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. +--! @brief Operator wrapper for eql_v3.text_search. --! @param a jsonb ---! @param b eql_v3.text_match +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_search) <> eql_v3.eq_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match ---! @param b eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_match, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.text_search, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_match, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.text_search, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.text_search) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. +--! @brief Operator wrapper for eql_v3.text_search. --! @param a jsonb ---! @param b eql_v3.text_match +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_search) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match ---! @param b eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_match, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.text_search, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_match, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.text_search, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.text_search) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. +--! @brief Operator wrapper for eql_v3.text_search. --! @param a jsonb ---! @param b eql_v3.text_match +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_search) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match ---! @param b eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_match, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.text_search, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_match, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.text_search, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.text_search) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. +--! @brief Operator wrapper for eql_v3.text_search. --! @param a jsonb ---! @param b eql_v3.text_match +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_search) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match ---! @param b eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_match, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.text_search, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_match, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.text_search, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.text_search) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. +--! @brief Operator wrapper for eql_v3.text_search. --! @param a jsonb ---! @param b eql_v3.text_match +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_match) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_match'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_search) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_search) >= eql_v3.ord_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_match. ---! @param a eql_v3.text_match ---! @param b eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_match, b eql_v3.text_match) +CREATE FUNCTION eql_v3.contains(a eql_v3.text_search, b eql_v3.text_search) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_match, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.text_search, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::eql_v3.text_match) $$; +AS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::eql_v3.text_search) $$; ---! @brief Operator wrapper for eql_v3.text_match. +--! @brief Operator wrapper for eql_v3.text_search. --! @param a jsonb ---! @param b eql_v3.text_match +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_match) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_search) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a::eql_v3.text_match) @> eql_v3.match_term(b) $$; +AS $$ SELECT eql_v3.match_term(a::eql_v3.text_search) @> eql_v3.match_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_match. ---! @param a eql_v3.text_match ---! @param b eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_match, b eql_v3.text_match) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_search, b eql_v3.text_search) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Operator wrapper for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_match, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_search, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::eql_v3.text_match) $$; +AS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::eql_v3.text_search) $$; ---! @brief Operator wrapper for eql_v3.text_match. +--! @brief Operator wrapper for eql_v3.text_search. --! @param a jsonb ---! @param b eql_v3.text_match +--! @param b eql_v3.text_search --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_match) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_search) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a::eql_v3.text_match) <@ eql_v3.match_term(b) $$; +AS $$ SELECT eql_v3.match_term(a::eql_v3.text_search) <@ eql_v3.match_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param selector text ---! @return eql_v3.text_match -CREATE FUNCTION eql_v3."->"(a eql_v3.text_match, selector text) -RETURNS eql_v3.text_match IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_match'; END; $$ +--! @return eql_v3.text_search +CREATE FUNCTION eql_v3."->"(a eql_v3.text_search, selector text) +RETURNS eql_v3.text_search IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param selector integer ---! @return eql_v3.text_match -CREATE FUNCTION eql_v3."->"(a eql_v3.text_match, selector integer) -RETURNS eql_v3.text_match IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_match'; END; $$ +--! @return eql_v3.text_search +CREATE FUNCTION eql_v3."->"(a eql_v3.text_search, selector integer) +RETURNS eql_v3.text_search IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. +--! @brief Unsupported operator blocker for eql_v3.text_search. --! @param a jsonb ---! @param selector eql_v3.text_match ---! @return eql_v3.text_match -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_match) -RETURNS eql_v3.text_match IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_match'; END; $$ +--! @param selector eql_v3.text_search +--! @return eql_v3.text_search +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_search) +RETURNS eql_v3.text_search IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_match, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_search, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_match, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_search, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. +--! @brief Unsupported operator blocker for eql_v3.text_search. --! @param a jsonb ---! @param selector eql_v3.text_match +--! @param selector eql_v3.text_search --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_match) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_search) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.text_match, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.text_search, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.text_match, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.text_search, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.text_match, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.text_search, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.text_match, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.text_search, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.text_match, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.text_search, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.text_match, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.text_search, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_match, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_search, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_match, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_search, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_match, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_search, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_match, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_search, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.text_match, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.text_search, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match ---! @param b eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search +--! @param b eql_v3.text_search --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_match, b eql_v3.text_match) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_search, b eql_v3.text_search) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. ---! @param a eql_v3.text_match +--! @brief Unsupported operator blocker for eql_v3.text_search. +--! @param a eql_v3.text_search --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_match, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_search, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_match. +--! @brief Unsupported operator blocker for eql_v3.text_search. --! @param a jsonb ---! @param b eql_v3.text_match +--! @param b eql_v3.text_search --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_match) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_search) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_match'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_search'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_search_functions.sql ---! @brief Functions for eql_v3.text_search. +--! @file encrypted_domain/text/text_eq_functions.sql +--! @brief Functions for eql_v3.text_eq. ---! @brief Index extractor for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Index extractor for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @return eql_v3.hmac_256 -CREATE FUNCTION eql_v3.eq_term(a eql_v3.text_search) +CREATE FUNCTION eql_v3.eq_term(a eql_v3.text_eq) RETURNS eql_v3.hmac_256 LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; ---! @brief Index extractor for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.text_search) -RETURNS eql_v3.ore_block_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; - ---! @brief Index extractor for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @return eql_v3.bloom_filter -CREATE FUNCTION eql_v3.match_term(a eql_v3.text_search) -RETURNS eql_v3.bloom_filter -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.bloom_filter(a::jsonb) $$; - ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @param b eql_v3.text_search +--! @brief Operator wrapper for eql_v3.text_eq. +--! @param a eql_v3.text_eq +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_search, b eql_v3.text_search) +CREATE FUNCTION eql_v3.eq(a eql_v3.text_eq, b eql_v3.text_eq) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Operator wrapper for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_search, b jsonb) +CREATE FUNCTION eql_v3.eq(a eql_v3.text_eq, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.text_search) $$; +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.text_eq) $$; ---! @brief Operator wrapper for eql_v3.text_search. +--! @brief Operator wrapper for eql_v3.text_eq. --! @param a jsonb ---! @param b eql_v3.text_search +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_search) +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_eq) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_search) = eql_v3.eq_term(b) $$; +AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_eq) = eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @param b eql_v3.text_search +--! @brief Operator wrapper for eql_v3.text_eq. +--! @param a eql_v3.text_eq +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_search, b eql_v3.text_search) +CREATE FUNCTION eql_v3.neq(a eql_v3.text_eq, b eql_v3.text_eq) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Operator wrapper for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_search, b jsonb) +CREATE FUNCTION eql_v3.neq(a eql_v3.text_eq, b jsonb) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.text_search) $$; +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.text_eq) $$; ---! @brief Operator wrapper for eql_v3.text_search. +--! @brief Operator wrapper for eql_v3.text_eq. --! @param a jsonb ---! @param b eql_v3.text_search +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_search) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_eq) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_search) <> eql_v3.eq_term(b) $$; +AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_eq) <> eql_v3.eq_term(b) $$; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @param b eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_search, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lt(a eql_v3.text_eq, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_search, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.text_search) $$; +CREATE FUNCTION eql_v3.lt(a eql_v3.text_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. +--! @brief Unsupported operator blocker for eql_v3.text_eq. --! @param a jsonb ---! @param b eql_v3.text_search +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_search) < eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @param b eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_search, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lte(a eql_v3.text_eq, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_search, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.text_search) $$; +CREATE FUNCTION eql_v3.lte(a eql_v3.text_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. +--! @brief Unsupported operator blocker for eql_v3.text_eq. --! @param a jsonb ---! @param b eql_v3.text_search +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_search) <= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @param b eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_search, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gt(a eql_v3.text_eq, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_search, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.text_search) $$; +CREATE FUNCTION eql_v3.gt(a eql_v3.text_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. +--! @brief Unsupported operator blocker for eql_v3.text_eq. --! @param a jsonb ---! @param b eql_v3.text_search +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_search) > eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @param b eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_search, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gte(a eql_v3.text_eq, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_search, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.text_search) $$; +CREATE FUNCTION eql_v3.gte(a eql_v3.text_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. +--! @brief Unsupported operator blocker for eql_v3.text_eq. --! @param a jsonb ---! @param b eql_v3.text_search +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.text_search) >= eql_v3.ord_term(b) $$; +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @param b eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_search, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b) $$; +CREATE FUNCTION eql_v3.contains(a eql_v3.text_eq, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_search, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a) @> eql_v3.match_term(b::eql_v3.text_search) $$; +CREATE FUNCTION eql_v3.contains(a eql_v3.text_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. +--! @brief Unsupported operator blocker for eql_v3.text_eq. --! @param a jsonb ---! @param b eql_v3.text_search +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a::eql_v3.text_search) @> eql_v3.match_term(b) $$; - ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @param b eql_v3.text_search +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_search, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b) $$; +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_eq, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_search, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a) <@ eql_v3.match_term(b::eql_v3.text_search) $$; +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.text_search. +--! @brief Unsupported operator blocker for eql_v3.text_eq. --! @param a jsonb ---! @param b eql_v3.text_search +--! @param b eql_v3.text_eq --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_search) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.match_term(a::eql_v3.text_search) <@ eql_v3.match_term(b) $$; +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_eq'; END; $$ +LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param selector text ---! @return eql_v3.text_search -CREATE FUNCTION eql_v3."->"(a eql_v3.text_search, selector text) -RETURNS eql_v3.text_search IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_search'; END; $$ +--! @return eql_v3.text_eq +CREATE FUNCTION eql_v3."->"(a eql_v3.text_eq, selector text) +RETURNS eql_v3.text_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param selector integer ---! @return eql_v3.text_search -CREATE FUNCTION eql_v3."->"(a eql_v3.text_search, selector integer) -RETURNS eql_v3.text_search IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_search'; END; $$ +--! @return eql_v3.text_eq +CREATE FUNCTION eql_v3."->"(a eql_v3.text_eq, selector integer) +RETURNS eql_v3.text_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. +--! @brief Unsupported operator blocker for eql_v3.text_eq. --! @param a jsonb ---! @param selector eql_v3.text_search ---! @return eql_v3.text_search -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_search) -RETURNS eql_v3.text_search IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_search'; END; $$ +--! @param selector eql_v3.text_eq +--! @return eql_v3.text_eq +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_eq) +RETURNS eql_v3.text_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_search, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_eq, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_search, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.text_eq, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. +--! @brief Unsupported operator blocker for eql_v3.text_eq. --! @param a jsonb ---! @param selector eql_v3.text_search +--! @param selector eql_v3.text_eq --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_search) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_eq) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.text_search, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.text_eq, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.text_search, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.text_eq, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.text_search, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.text_eq, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.text_search, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.text_eq, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.text_search, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.text_eq, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.text_search, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.text_eq, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_search, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_eq, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_search, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_eq, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_search, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_eq, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_search, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.text_eq, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.text_search, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.text_eq, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search ---! @param b eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq +--! @param b eql_v3.text_eq --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_search, b eql_v3.text_search) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_eq, b eql_v3.text_eq) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. ---! @param a eql_v3.text_search +--! @brief Unsupported operator blocker for eql_v3.text_eq. +--! @param a eql_v3.text_eq --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_search, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.text_eq, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.text_search. +--! @brief Unsupported operator blocker for eql_v3.text_eq. --! @param a jsonb ---! @param b eql_v3.text_search +--! @param b eql_v3.text_eq --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_search) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_eq) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_search'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_eq'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_eq_functions.sql ---! @brief Functions for eql_v3.text_eq. +--! @file encrypted_domain/text/text_ord_ore_operators.sql +--! @brief Operators for eql_v3.text_ord_ore. ---! @brief Index extractor for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @return eql_v3.hmac_256 -CREATE FUNCTION eql_v3.eq_term(a eql_v3.text_eq) -RETURNS eql_v3.hmac_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_eq, b eql_v3.text_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text_eq, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.text_eq) $$; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Operator wrapper for eql_v3.text_eq. ---! @param a jsonb ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_eq) = eql_v3.eq_term(b) $$; - ---! @brief Operator wrapper for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_eq, b eql_v3.text_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text_eq, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.text_eq) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Operator wrapper for eql_v3.text_eq. ---! @param a jsonb ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text_eq) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.eq_term(a::eql_v3.text_eq) <> eql_v3.eq_term(b) $$; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_eq, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a jsonb ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_eq, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a jsonb ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_eq, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a jsonb ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_eq, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a jsonb ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_eq, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a jsonb ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_eq, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text_eq, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a jsonb ---! @param b eql_v3.text_eq ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text_eq) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param selector text ---! @return eql_v3.text_eq -CREATE FUNCTION eql_v3."->"(a eql_v3.text_eq, selector text) -RETURNS eql_v3.text_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param selector integer ---! @return eql_v3.text_eq -CREATE FUNCTION eql_v3."->"(a eql_v3.text_eq, selector integer) -RETURNS eql_v3.text_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a jsonb ---! @param selector eql_v3.text_eq ---! @return eql_v3.text_eq -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text_eq) -RETURNS eql_v3.text_eq IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_eq, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text_eq, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a jsonb ---! @param selector eql_v3.text_eq ---! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text_eq) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b text ---! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.text_eq, b text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.text_eq, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.text_eq, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.text_eq, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.text_eq, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.text_eq, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b text[] ---! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.text_eq, b text[]) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b text ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_eq, b text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b integer ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_eq, b integer) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text_eq, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.text_eq, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b eql_v3.text_eq ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_eq, b eql_v3.text_eq) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a eql_v3.text_eq ---! @param b jsonb ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text_eq, b jsonb) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb +); ---! @brief Unsupported operator blocker for eql_v3.text_eq. ---! @param a jsonb ---! @param b eql_v3.text_eq ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text_eq) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text_eq'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore +); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_ord_ore_operators.sql ---! @brief Operators for eql_v3.text_ord_ore. - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb -); - -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb -); - -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = integer -); - -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = integer -); - -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore -); - -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonpath -); - -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonpath -); - -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = integer -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = text[] -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = eql_v3.text_ord_ore -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text_ord_ore, RIGHTARG = jsonb -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_ord_ore -); --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/text/text_ord_operators.sql ---! @brief Operators for eql_v3.text_ord. +--! @file encrypted_domain/text/text_ord_operators.sql +--! @brief Operators for eql_v3.text_ord. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, @@ -15093,3457 +13427,4517 @@ CREATE OPERATOR || ( FUNCTION = eql_v3."||", LEFTARG = jsonb, RIGHTARG = eql_v3.float4_ord ); +-- AUTOMATICALLY GENERATED FILE. ---! @file v3/sem/ore_cllw/types.sql ---! @brief CLLW ORE index term type for STE-vec range queries (eql_v3 SEM) ---! ---! Composite type for CLLW (Copyless Logarithmic Width) Order-Revealing ---! Encryption. The ciphertext is stored in the `oc` field of encrypted data ---! payloads (Standard-mode `ste_vec` elements). Used by the range operators ---! (`<`, `<=`, `>`, `>=`) when an sv element carries an `oc` term. ---! ---! The wire-format `oc` value is a hex string with a leading domain-tag byte ---! (`0x00` numeric, `0x01` string) followed by the CLLW ciphertext. The ---! decoded `bytes` field carries the full byte string including the tag — the ---! comparator is variable-length capable, so numeric and string values within ---! the same column order correctly: the domain tag separates the ranges ---! (numeric < string) and the within-domain comparison falls through to the ---! CLLW per-byte protocol. ---! ---! @note This is a transient type used only during query execution. ---! @see eql_v3.compare_ore_cllw_term -CREATE TYPE eql_v3.ore_cllw AS ( - bytes bytea -); +--! @file encrypted_domain/timestamp/timestamp_ord_ore_functions.sql +--! @brief Functions for eql_v3.timestamp_ord_ore. ---! @file v3/sem/ore_cllw/functions.sql ---! @brief CLLW ORE index-term extraction and comparison (eql_v3 SEM). - ---! @brief Extract CLLW ORE index term from raw jsonb ---! ---! Returns the CLLW ORE ciphertext from the `oc` field of a single sv element ---! supplied as raw jsonb. Inlinable single-statement SQL — the planner folds ---! the body into the calling query. ---! ---! **Missing-`oc` semantics**: returns SQL-level NULL (not a composite with ---! NULL bytes) when `oc` is absent, so btree's NULL handling filters those ---! rows from range queries. ---! ---! @param val jsonb An object carrying an `oc` field ---! @return eql_v3.ore_cllw Composite carrying the CLLW ciphertext, or NULL ---! when the `oc` field is absent. ---! @see eql_v3.has_ore_cllw ---! @see eql_v3.compare_ore_cllw_term -CREATE FUNCTION eql_v3.ore_cllw(val jsonb) - RETURNS eql_v3.ore_cllw - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT CASE WHEN val ->> 'oc' IS NULL THEN NULL - ELSE ROW(decode(val ->> 'oc', 'hex'))::eql_v3.ore_cllw - END -$$; +--! @brief Index extractor for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @return eql_v3.ore_block_256 +CREATE FUNCTION eql_v3.ord_term(a eql_v3.timestamp_ord_ore) +RETURNS eql_v3.ore_block_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; -COMMENT ON FUNCTION eql_v3.ore_cllw(jsonb) IS - 'eql-inline-critical: raw-jsonb CLLW extractor; must stay inlinable (unpinned search_path)'; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.timestamp_ord_ore, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; ---! @brief Check if a raw jsonb value contains a CLLW ORE index term ---! @param val jsonb An object that may carry an `oc` field ---! @return boolean True if `oc` field is present and non-null -CREATE FUNCTION eql_v3.has_ore_cllw(val jsonb) - RETURNS boolean - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT val ->> 'oc' IS NOT NULL -$$; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.timestamp_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.timestamp_ord_ore) $$; -COMMENT ON FUNCTION eql_v3.has_ore_cllw(jsonb) IS - 'eql-inline-critical: raw-jsonb CLLW presence helper; must stay inlinable (unpinned search_path)'; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord_ore) = eql_v3.ord_term(b) $$; ---! @brief CLLW per-byte comparison helper ---! @internal ---! ---! Byte-by-byte comparison implementing the CLLW order-revealing protocol. ---! Identify the index of the first differing byte; if `(y_byte + 1) == x_byte` ---! (mod 256) there, then x > y; otherwise x < y. Equal inputs return 0. Inputs ---! MUST be the same length (the caller guarantees this). Stays `LANGUAGE ---! plpgsql` — the per-byte loop can't be a single inlinable SQL expression. ---! ---! @param a bytea First CLLW ciphertext slice ---! @param b bytea Second CLLW ciphertext slice ---! @return integer -1, 0, or 1 ---! @throws Exception if inputs are different lengths ---! @see eql_v3.compare_ore_cllw_term -CREATE FUNCTION eql_v3.compare_ore_cllw_term_bytes(a bytea, b bytea) -RETURNS int - SET search_path = pg_catalog, extensions, public -AS $$ -DECLARE - len_a INT; - len_b INT; - i INT; - first_diff INT := 0; -BEGIN +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.timestamp_ord_ore, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; - len_a := LENGTH(a); - len_b := LENGTH(b); +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.timestamp_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.timestamp_ord_ore) $$; - IF len_a != len_b THEN - RAISE EXCEPTION 'ore_cllw index terms are not the same length'; - END IF; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord_ore) <> eql_v3.ord_term(b) $$; - FOR i IN 1..len_a LOOP - IF first_diff = 0 AND get_byte(a, i - 1) != get_byte(b, i - 1) THEN - first_diff := i; - END IF; - END LOOP; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.timestamp_ord_ore, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; - IF first_diff = 0 THEN - RETURN 0; - END IF; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.timestamp_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.timestamp_ord_ore) $$; - IF ((get_byte(b, first_diff - 1) + 1) & 255) = get_byte(a, first_diff - 1) THEN - RETURN 1; - ELSE - RETURN -1; - END IF; -END; -$$ LANGUAGE plpgsql; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord_ore) < eql_v3.ord_term(b) $$; ---! @brief Variable-length CLLW ORE term comparison ---! @internal ---! ---! Three-way comparison of two CLLW ORE ciphertext terms of potentially ---! different lengths. Compares the shared prefix via the CLLW per-byte ---! protocol; on equal prefixes, the shorter input sorts first. The leading ---! domain-tag byte makes numeric (`0x00`) sort before string (`0x01`). Stays ---! `LANGUAGE plpgsql` because it dispatches to `compare_ore_cllw_term_bytes`. ---! ---! btree filters NULL composites at the row level, so this should never see a ---! NULL composite under normal operation; the IS-NULL guard returns NULL ---! defensively. A non-NULL composite with NULL `bytes` is a contract violation ---! — the extractor returns SQL NULL (not ROW(NULL)) on missing `oc`, so raise ---! loudly rather than silently misorder. ---! ---! @param a eql_v3.ore_cllw First term ---! @param b eql_v3.ore_cllw Second term ---! @return integer -1, 0, or 1; NULL if either composite is NULL ---! @throws Exception if either composite has a NULL `bytes` field ---! @see eql_v3.compare_ore_cllw_term_bytes -CREATE FUNCTION eql_v3.compare_ore_cllw_term(a eql_v3.ore_cllw, b eql_v3.ore_cllw) -RETURNS int - SET search_path = pg_catalog, extensions, public -AS $$ -DECLARE - len_a INT; - len_b INT; - common_len INT; - cmp_result INT; -BEGIN - -- The `::text` cast is load-bearing, not a stylistic choice. For the - -- single-field `ore_cllw` composite, `ROW(NULL)::ore_cllw IS NULL` is TRUE - -- but `(ROW(NULL)::ore_cllw)::text IS NULL` is FALSE. Casting to text first - -- means a NULL-component composite falls THROUGH to the RAISE below (the - -- extractor-invariant violation) instead of silently returning NULL and - -- masking it. A plain `a IS NULL` would reintroduce that masking bug. - IF a::text IS NULL OR b::text IS NULL THEN - RETURN NULL; - END IF; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.timestamp_ord_ore, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; - IF a.bytes IS NULL OR b.bytes IS NULL THEN - RAISE EXCEPTION 'eql_v3.compare_ore_cllw_term: composite has NULL bytes field — extractor invariant violated. Check that the index expression uses eql_v3.ore_cllw(...) and not a hand-crafted ROW(NULL).'; - END IF; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.timestamp_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.timestamp_ord_ore) $$; - len_a := LENGTH(a.bytes); - len_b := LENGTH(b.bytes); +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord_ore) <= eql_v3.ord_term(b) $$; - IF len_a = 0 AND len_b = 0 THEN - RETURN 0; - ELSIF len_a = 0 THEN - RETURN -1; - ELSIF len_b = 0 THEN - RETURN 1; - END IF; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.timestamp_ord_ore, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; - IF len_a < len_b THEN - common_len := len_a; - ELSE - common_len := len_b; - END IF; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.timestamp_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.timestamp_ord_ore) $$; - cmp_result := eql_v3.compare_ore_cllw_term_bytes( - SUBSTRING(a.bytes FROM 1 FOR common_len), - SUBSTRING(b.bytes FROM 1 FOR common_len) - ); +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord_ore) > eql_v3.ord_term(b) $$; - IF cmp_result = -1 THEN - RETURN -1; - ELSIF cmp_result = 1 THEN - RETURN 1; - END IF; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.timestamp_ord_ore, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; - IF len_a < len_b THEN - RETURN -1; - ELSIF len_a > len_b THEN - RETURN 1; - ELSE - RETURN 0; - END IF; -END; -$$ LANGUAGE plpgsql; +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.timestamp_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.timestamp_ord_ore) $$; ---! @file v3/jsonb/types.sql ---! @brief Domain types for the eql_v3 encrypted-JSONB (SteVec) surface. ---! ---! Three jsonb-backed domains (none over another domain — operators resolve ---! against the ultimate base type jsonb, so the native-jsonb firewall in ---! blockers.sql can attach): ---! - eql_v3.json — storage/root: an EQL envelope object ({i, v, ...}). ---! - eql_v3.ste_vec_entry — a single sv element (returned by `->`). ---! - eql_v3.ste_vec_query — a containment needle (sv elements, no ciphertext). +--! @brief Operator wrapper for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.timestamp_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord_ore) >= eql_v3.ord_term(b) $$; ---! @brief Validate a single SteVec entry payload. ---! @internal ---! @param val jsonb Candidate entry payload. ---! @return boolean True when `val` is an sv entry with string `s`, string `c`, ---! and exactly one string deterministic term (`hm` XOR `oc`). -CREATE FUNCTION eql_v3.is_valid_ste_vec_entry_payload(val jsonb) - RETURNS boolean - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT COALESCE( - jsonb_typeof(val) = 'object' - AND jsonb_typeof(val -> 's') = 'string' - AND jsonb_typeof(val -> 'c') = 'string' - AND ( - (jsonb_typeof(val -> 'hm') = 'string' AND NOT (val ? 'oc')) - OR - (jsonb_typeof(val -> 'oc') = 'string' AND NOT (val ? 'hm')) - ), - false - ) -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.timestamp_ord_ore, b eql_v3.timestamp_ord_ore) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Validate a SteVec containment query payload. ---! @internal ---! @param val jsonb Candidate query payload. ---! @return boolean True when `val` is `{"sv":[...]}` and every element carries ---! string `s`, no ciphertext, and exactly one string term (`hm` XOR ---! `oc`). -CREATE FUNCTION eql_v3.is_valid_ste_vec_query_payload(val jsonb) - RETURNS boolean - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT COALESCE( - jsonb_typeof(val) = 'object' - AND jsonb_typeof(val -> 'sv') = 'array' - AND NOT EXISTS ( - SELECT 1 - FROM jsonb_array_elements( - CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END - ) AS elem - WHERE NOT COALESCE(( - jsonb_typeof(elem) = 'object' - AND jsonb_typeof(elem -> 's') = 'string' - AND NOT (elem ? 'c') - AND ( - (jsonb_typeof(elem -> 'hm') = 'string' AND NOT (elem ? 'oc')) - OR - (jsonb_typeof(elem -> 'oc') = 'string' AND NOT (elem ? 'hm')) - ) - ), false) - ), - false - ) -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.timestamp_ord_ore, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Validate a root SteVec document payload. ---! @internal ---! @param val jsonb Candidate document payload. ---! @return boolean True when `val` is an encrypted document envelope with ---! `v = 2`, `i`, an `sv` array, and valid sv entry elements. -CREATE FUNCTION eql_v3.is_valid_ste_vec_document_payload(val jsonb) - RETURNS boolean - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT COALESCE( - jsonb_typeof(val) = 'object' - AND val ? 'v' - AND val ->> 'v' = '2' - AND val ? 'i' - AND jsonb_typeof(val -> 'sv') = 'array' - AND NOT EXISTS ( - SELECT 1 - FROM jsonb_array_elements( - CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END - ) AS elem - WHERE NOT eql_v3.is_valid_ste_vec_entry_payload(elem) - ), - false - ) -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.timestamp_ord_ore) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Storage/root domain for an encrypted JSONB column. ---! ---! CHECK: a JSON object carrying the EQL envelope (`v = 2` version and `i` index ---! metadata). Root `c` is intentionally NOT required — an sv-array root payload ---! is `{i, v, sv}` with no root ciphertext. The CHECK now also requires an `sv` ---! array, so the domain accepts only SteVec **document** payloads and rejects ---! encrypted *scalar* payloads (which carry `c`/`hm`/`ob` but no `sv`) — this is ---! what keeps `eql_v3.json` a typed document domain rather than a generic ---! encrypted envelope. The firewall in blockers.sql attaches to this domain to ---! stop native jsonb operators from reaching a column value. ---! ---! @note Constructing from inline JSON uses the standard DOMAIN cast: ---! `'{"i":{},"v":2,"sv":[...]}'::eql_v3.json`. -CREATE DOMAIN eql_v3.json AS jsonb - CHECK ( - eql_v3.is_valid_ste_vec_document_payload(VALUE) - ); +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamp_ord_ore, b eql_v3.timestamp_ord_ore) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Domain type for an individual sv element. ---! ---! A single element inside an `sv` array: a JSON object that carries a selector ---! (`s`), a ciphertext (`c`), and **exactly one** of `hm` (HMAC-256, for ---! hash-equality) or `oc` (CLLW ORE, for ordered queries) — they are mutually ---! exclusive. This is the type returned by `->` and accepted by the per-entry ---! extractors `eql_v3.eq_term` / `eql_v3.ore_cllw`. Extra fields (`a`, root ---! `i`/`v` merged in by `->`) are allowed. ---! ---! @see src/v3/jsonb/operators.sql -CREATE DOMAIN eql_v3.ste_vec_entry AS jsonb - CHECK ( - eql_v3.is_valid_ste_vec_entry_payload(VALUE) - ); +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamp_ord_ore, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Domain type for an STE-vec containment needle. ---! ---! A query-shaped payload `{"sv":[...]}` whose elements carry selector + index ---! term but **never** a ciphertext (`c`). Each element must carry `s` and ---! exactly one deterministic term (`hm` XOR `oc`). Typing the needle this way ---! stops selector-only needles from casting and matching every row via bare ---! `jsonb @>`. ---! ---! @note Construct from inline JSON via the DOMAIN cast: ---! `'{"sv":[{"s":"","hm":""}]}'::eql_v3.ste_vec_query`. ---! @see eql_v3.to_ste_vec_query -CREATE DOMAIN eql_v3.ste_vec_query AS jsonb - CHECK ( - eql_v3.is_valid_ste_vec_query_payload(VALUE) - ); +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord_ore +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.timestamp_ord_ore) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Convert an eql_v3.json to a ste_vec_query needle. ---! ---! Normalises each sv element down to the matching-relevant fields: `s` plus ---! exactly one of `hm` / `oc`. Other fields (`c`, `a`, `i`/`v`, anything else) ---! are stripped. This is the canonical needle shape for `@>` containment. ---! Designed for use as a functional GIN index expression: ---! `GIN (eql_v3.to_ste_vec_query(col)::jsonb jsonb_path_ops)`. ---! ---! @param e eql_v3.json Source encrypted payload ---! @return eql_v3.ste_vec_query Query-shaped needle, sv elements normalised. ---! @see eql_v3.ste_vec_query -CREATE FUNCTION eql_v3.to_ste_vec_query(e eql_v3.json) - RETURNS eql_v3.ste_vec_query - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT jsonb_build_object( - 'sv', - coalesce( - (SELECT jsonb_agg( - jsonb_strip_nulls( - jsonb_build_object( - 's', elem -> 's', - 'hm', elem -> 'hm', - 'oc', elem -> 'oc' - ) - ) - ) - FROM jsonb_array_elements(e::jsonb -> 'sv') AS elem), - '[]'::jsonb - ) - )::eql_v3.ste_vec_query -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param selector text +--! @return eql_v3.timestamp_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.timestamp_ord_ore, selector text) +RETURNS eql_v3.timestamp_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; -CREATE CAST (eql_v3.json AS eql_v3.ste_vec_query) - WITH FUNCTION eql_v3.to_ste_vec_query - AS ASSIGNMENT; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param selector integer +--! @return eql_v3.timestamp_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.timestamp_ord_ore, selector integer) +RETURNS eql_v3.timestamp_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @file v3/jsonb/functions.sql ---! @brief Extractors, containment engine, and path/array functions for the ---! eql_v3 encrypted-JSONB (SteVec) surface. ---! ---! `selector` parameters here are *encrypted-side* selector hashes — the ---! deterministic hash the crypto layer emits in the `s` field of each sv ---! element. Plaintext JSONPaths are never accepted at runtime. +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param selector eql_v3.timestamp_ord_ore +--! @return eql_v3.timestamp_ord_ore +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.timestamp_ord_ore) +RETURNS eql_v3.timestamp_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ------------------------------------------------------------------------------- --- Envelope helpers (eql_v3 owns these; jsonb-only) ------------------------------------------------------------------------------- +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param selector text +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamp_ord_ore, selector text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Extract metadata (i, v) from a raw jsonb encrypted value. ---! @param val jsonb encrypted EQL payload ---! @return jsonb Metadata object with `i` and `v` fields. -CREATE FUNCTION eql_v3.meta_data(val jsonb) - RETURNS jsonb - IMMUTABLE STRICT PARALLEL SAFE - LANGUAGE SQL -AS $$ - SELECT jsonb_build_object('i', val->'i', 'v', val->'v'); -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamp_ord_ore, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; -COMMENT ON FUNCTION eql_v3.meta_data(jsonb) IS - 'eql-inline-critical: raw-jsonb envelope helper used by v3 jsonb wrappers; must stay inlinable (unpinned search_path)'; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param selector eql_v3.timestamp_ord_ore +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.timestamp_ord_ore) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Extract ciphertext (c) from a raw jsonb encrypted value. ---! @param val jsonb encrypted EQL payload ---! @return text Base64-encoded ciphertext. ---! @throws Exception if `c` is absent. -CREATE FUNCTION eql_v3.ciphertext(val jsonb) - RETURNS text - IMMUTABLE STRICT PARALLEL SAFE - SET search_path = pg_catalog, extensions, public -AS $$ - BEGIN - IF val ? 'c' THEN - RETURN val->>'c'; - END IF; - RAISE 'Expected a ciphertext (c) value in json: %', val; - END; -$$ LANGUAGE plpgsql; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b text +--! @return boolean +CREATE FUNCTION eql_v3."?"(a eql_v3.timestamp_ord_ore, b text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ------------------------------------------------------------------------------- --- Selector extractors ------------------------------------------------------------------------------- +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?|"(a eql_v3.timestamp_ord_ore, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Extract selector (s) from a raw jsonb encrypted value. ---! @param val jsonb encrypted EQL payload ---! @return text The selector value. ---! @throws Exception if `s` is absent. -CREATE FUNCTION eql_v3.selector(val jsonb) - RETURNS text - IMMUTABLE STRICT PARALLEL SAFE - SET search_path = pg_catalog, extensions, public -AS $$ - BEGIN - IF val ? 's' THEN - RETURN val->>'s'; - END IF; - RAISE 'Expected a selector index (s) value in json: %', val; - END; -$$ LANGUAGE plpgsql; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?&"(a eql_v3.timestamp_ord_ore, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Extract selector (s) from a ste_vec entry. The DOMAIN CHECK ---! guarantees `s` is present, so this is a simple field access. ---! @param entry eql_v3.ste_vec_entry ---! @return text The selector value. -CREATE FUNCTION eql_v3.selector(entry eql_v3.ste_vec_entry) - RETURNS text - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT entry ->> 's' -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@?"(a eql_v3.timestamp_ord_ore, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ------------------------------------------------------------------------------- --- Equality-term extractor (XOR-aware: coalesce(hm, oc)) ------------------------------------------------------------------------------- +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@@"(a eql_v3.timestamp_ord_ore, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief XOR-aware equality term extractor for eql_v3.ste_vec_entry. ---! ---! Returns the bytea of whichever deterministic term the sv entry carries — ---! `hm` (HMAC-256) or `oc` (CLLW ORE). The two byte distributions are disjoint ---! by construction, so byte equality on the coalesce is unambiguous. Canonical ---! equality extractor used by `=` / `<>` on ste_vec_entry. ---! ---! @param entry eql_v3.ste_vec_entry ---! @return bytea Decoded `hm` or `oc` bytes (NULL if entry is NULL). -CREATE FUNCTION eql_v3.eq_term(entry eql_v3.ste_vec_entry) - RETURNS bytea - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT decode(coalesce(entry ->> 'hm', entry ->> 'oc'), 'hex') -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#>"(a eql_v3.timestamp_ord_ore, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ------------------------------------------------------------------------------- --- ORE CLLW per-entry overloads (live here so sem/ore_cllw stays a leaf) ------------------------------------------------------------------------------- +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b text[] +--! @return text +CREATE FUNCTION eql_v3."#>>"(a eql_v3.timestamp_ord_ore, b text[]) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Extract CLLW ORE index term from a ste_vec entry. ---! ---! `oc` is only ever present on an sv element, never at a root encrypted value, ---! so the typed overload accepts eql_v3.ste_vec_entry. Returns SQL NULL when ---! `oc` is absent (btree NULL-filters such rows from range queries). ---! ---! @param entry eql_v3.ste_vec_entry ---! @return eql_v3.ore_cllw Composite carrying the CLLW ciphertext, or NULL. ---! @see eql_v3.has_ore_cllw -CREATE FUNCTION eql_v3.ore_cllw(entry eql_v3.ste_vec_entry) - RETURNS eql_v3.ore_cllw - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT CASE WHEN entry ->> 'oc' IS NULL THEN NULL - ELSE ROW(decode(entry ->> 'oc', 'hex'))::eql_v3.ore_cllw - END -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b text +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp_ord_ore, b text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Check if a ste_vec entry contains a CLLW ORE index term. ---! @param entry eql_v3.ste_vec_entry ---! @return boolean True if `oc` is present and non-null. -CREATE FUNCTION eql_v3.has_ore_cllw(entry eql_v3.ste_vec_entry) - RETURNS boolean - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT entry ->> 'oc' IS NOT NULL -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b integer +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp_ord_ore, b integer) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ------------------------------------------------------------------------------- --- sv-array helpers ------------------------------------------------------------------------------- +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp_ord_ore, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Extract the sv element array as raw jsonb[]. ---! ---! Returns the elements of `sv` (or a single-element array wrapping the value ---! when there is no `sv`). No envelope re-wrapping — raw jsonb elements. ---! ---! @param val jsonb encrypted EQL payload ---! @return jsonb[] Array of sv elements. -CREATE FUNCTION eql_v3.ste_vec(val jsonb) - RETURNS jsonb[] - IMMUTABLE STRICT PARALLEL SAFE - SET search_path = pg_catalog, extensions, public -AS $$ - DECLARE - sv jsonb; - ary jsonb[]; - BEGIN - IF val ? 'sv' THEN - sv := val->'sv'; - ELSE - sv := jsonb_build_array(val); - END IF; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#-"(a eql_v3.timestamp_ord_ore, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; - SELECT array_agg(elem) - INTO ary - FROM jsonb_array_elements(sv) AS elem; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b eql_v3.timestamp_ord_ore +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.timestamp_ord_ore, b eql_v3.timestamp_ord_ore) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; - RETURN ary; - END; -$$ LANGUAGE plpgsql; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a eql_v3.timestamp_ord_ore +--! @param b jsonb +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.timestamp_ord_ore, b jsonb) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; ---! @brief Check if a jsonb payload is marked as an sv array (`a` flag true). ---! @param val jsonb encrypted EQL payload ---! @return boolean True if `a` is present and true. -CREATE FUNCTION eql_v3.is_ste_vec_array(val jsonb) - RETURNS boolean - IMMUTABLE STRICT PARALLEL SAFE - SET search_path = pg_catalog, extensions, public -AS $$ - BEGIN - IF val ? 'a' THEN - RETURN (val->>'a')::boolean; - END IF; - RETURN false; - END; -$$ LANGUAGE plpgsql; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord_ore. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord_ore +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.timestamp_ord_ore) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp_ord_ore'; END; $$ +LANGUAGE plpgsql; +-- AUTOMATICALLY GENERATED FILE. ------------------------------------------------------------------------------- --- Deterministic-fields array for GIN containment ------------------------------------------------------------------------------- +--! @file encrypted_domain/timestamp/timestamp_ord_functions.sql +--! @brief Functions for eql_v3.timestamp_ord. ---! @brief Extract deterministic search fields (s, hm, oc, op) per sv element. ---! ---! Excludes non-deterministic ciphertext so PostgreSQL's native jsonb `@>` can ---! compare for containment. Use for GIN indexes and containment queries. ---! ---! @param val jsonb encrypted EQL payload ---! @return jsonb[] Array of objects with only deterministic fields. -CREATE FUNCTION eql_v3.jsonb_array(val jsonb) -RETURNS jsonb[] -IMMUTABLE STRICT PARALLEL SAFE -LANGUAGE SQL -AS $$ - SELECT ARRAY( - SELECT jsonb_object_agg(kv.key, kv.value) - FROM jsonb_array_elements( - CASE WHEN val ? 'sv' THEN val->'sv' ELSE jsonb_build_array(val) END - ) AS elem, - LATERAL jsonb_each(elem) AS kv(key, value) - WHERE kv.key IN ('s', 'hm', 'oc', 'op') - GROUP BY elem - ); -$$; +--! @brief Index extractor for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @return eql_v3.ore_block_256 +CREATE FUNCTION eql_v3.ord_term(a eql_v3.timestamp_ord) +RETURNS eql_v3.ore_block_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; -COMMENT ON FUNCTION eql_v3.jsonb_array(jsonb) IS - 'eql-inline-critical: raw-jsonb deterministic-field array helper; must stay inlinable (unpinned search_path)'; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.timestamp_ord, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; ------------------------------------------------------------------------------- --- Containment ------------------------------------------------------------------------------- +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.timestamp_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.timestamp_ord) $$; ---! @brief GIN-indexable containment check: does `a` contain all of `b`? ---! @param a jsonb Container payload. ---! @param b jsonb Search payload. ---! @return boolean True if a contains all deterministic elements of b. -CREATE FUNCTION eql_v3.jsonb_contains(a jsonb, b jsonb) -RETURNS boolean -IMMUTABLE STRICT PARALLEL SAFE -LANGUAGE SQL -AS $$ - SELECT eql_v3.jsonb_array(a) @> eql_v3.jsonb_array(b); -$$; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord) = eql_v3.ord_term(b) $$; -COMMENT ON FUNCTION eql_v3.jsonb_contains(jsonb, jsonb) IS - 'eql-inline-critical: raw-jsonb containment helper; must stay inlinable (unpinned search_path)'; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.timestamp_ord, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; ---! @brief GIN-indexable "is contained by" check. ---! @param a jsonb Payload to check. ---! @param b jsonb Container payload. ---! @return boolean True if all elements of a are contained in b. -CREATE FUNCTION eql_v3.jsonb_contained_by(a jsonb, b jsonb) -RETURNS boolean -IMMUTABLE STRICT PARALLEL SAFE -LANGUAGE SQL -AS $$ - SELECT eql_v3.jsonb_array(a) <@ eql_v3.jsonb_array(b); -$$; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.timestamp_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.timestamp_ord) $$; -COMMENT ON FUNCTION eql_v3.jsonb_contained_by(jsonb, jsonb) IS - 'eql-inline-critical: raw-jsonb contained-by helper; must stay inlinable (unpinned search_path)'; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord) <> eql_v3.ord_term(b) $$; ---! @brief Check if an sv array contains a specific sv element. ---! ---! Match = selector equal AND eq_term equal (byte-equality over coalesce(hm, ---! oc)). This collapses the v2 hm/oc CASE: under the XOR contract both terms ---! are deterministic and byte-disjoint, so either one is a valid equality ---! discriminator and a single byte comparison is correct. ---! ---! ASSUMPTION (locked by a negative test in v3_jsonb_tests.rs): hm and oc byte ---! distributions never collide at a given selector. The crypto layer configures ---! a selector for eq XOR ordered, so both sides of a real comparison carry the ---! same term type; and an oc value carries a leading domain-tag byte an hm never ---! has. Unlike v2's explicit `has_hmac(both)`/`has_ore_cllw(both)`/`ELSE false` ---! CASE, this collapse would wrongly match an hm needle against an oc leaf if ---! their hex bytes were ever identical — which the contract prevents. The ---! negative-containment test guards against regression. ---! ---! @param a jsonb[] sv array to search within. ---! @param b jsonb sv element to search for. ---! @return boolean True if b is found in any element of a. -CREATE FUNCTION eql_v3.ste_vec_contains(a jsonb[], b jsonb) - RETURNS boolean - IMMUTABLE STRICT PARALLEL SAFE - SET search_path = pg_catalog, extensions, public -AS $$ - DECLARE - result boolean; - _a jsonb; - BEGIN - result := false; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.timestamp_ord, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; - FOR idx IN 1..array_length(a, 1) LOOP - _a := a[idx]; - result := result OR ( - eql_v3.selector(_a) = eql_v3.selector(b) - AND eql_v3.eq_term(_a::eql_v3.ste_vec_entry) = eql_v3.eq_term(b::eql_v3.ste_vec_entry) - ); - EXIT WHEN result; - END LOOP; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.timestamp_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.timestamp_ord) $$; - RETURN result; - END; -$$ LANGUAGE plpgsql; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord) < eql_v3.ord_term(b) $$; ---! @brief Does encrypted value `a` contain all sv elements of `b`? ---! ---! Empty b is always contained. Each element of b must match selector + eq_term ---! in some element of a. ---! ---! @param a eql_v3.json Container. ---! @param b eql_v3.json Elements to find. ---! @return boolean True if all elements of b are contained in a. ---! @see eql_v3.ste_vec_contains(jsonb[], jsonb) -CREATE FUNCTION eql_v3.ste_vec_contains(a eql_v3.json, b eql_v3.json) - RETURNS boolean - IMMUTABLE STRICT PARALLEL SAFE - SET search_path = pg_catalog, extensions, public -AS $$ - DECLARE - result boolean; - sv_a jsonb[]; - sv_b jsonb[]; - _b jsonb; - BEGIN - sv_a := eql_v3.ste_vec(a); - sv_b := eql_v3.ste_vec(b); +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.timestamp_ord, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; - IF array_length(sv_b, 1) IS NULL THEN - RETURN true; - END IF; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.timestamp_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.timestamp_ord) $$; - IF array_length(sv_a, 1) IS NULL THEN - RETURN false; - END IF; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord) <= eql_v3.ord_term(b) $$; - result := true; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.timestamp_ord, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; - FOR idx IN 1..array_length(sv_b, 1) LOOP - _b := sv_b[idx]; - result := result AND eql_v3.ste_vec_contains(sv_a, _b); - END LOOP; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.timestamp_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.timestamp_ord) $$; - RETURN result; - END; -$$ LANGUAGE plpgsql; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord) > eql_v3.ord_term(b) $$; ------------------------------------------------------------------------------- --- Path queries (text selector only) ------------------------------------------------------------------------------- +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.timestamp_ord, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Query encrypted JSONB for sv elements matching `selector`. ---! ---! Returns one ste_vec_entry row per matching encrypted element. Returns empty ---! set on no match. It deliberately does not wrap multiple matches as an ---! eql_v3.json document, because the root document domain requires an `sv` ---! array and single leaves belong to eql_v3.ste_vec_entry. ---! ---! @param val jsonb encrypted EQL payload with `sv`. ---! @param selector text Selector hash (`s` value). ---! @return SETOF eql_v3.ste_vec_entry Matching encrypted entries. ---! @see eql_v3.jsonb_path_query_first -CREATE FUNCTION eql_v3.jsonb_path_query(val jsonb, selector text) - RETURNS SETOF eql_v3.ste_vec_entry - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT (eql_v3.meta_data(val) || elem)::eql_v3.ste_vec_entry - FROM jsonb_array_elements(val -> 'sv') elem - WHERE elem ->> 's' = selector -$$; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.timestamp_ord, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.timestamp_ord) $$; -COMMENT ON FUNCTION eql_v3.jsonb_path_query(jsonb, text) IS - 'eql-inline-critical: raw-jsonb path query helper; must stay inlinable (unpinned search_path)'; +--! @brief Operator wrapper for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.timestamp_ord) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.timestamp_ord) >= eql_v3.ord_term(b) $$; ---! @brief Check if a selector path exists in encrypted JSONB. ---! @param val jsonb encrypted EQL payload. ---! @param selector text Selector hash to test. ---! @return boolean True if a matching element exists. -CREATE FUNCTION eql_v3.jsonb_path_exists(val jsonb, selector text) - RETURNS boolean - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT EXISTS ( - SELECT 1 FROM jsonb_array_elements(val -> 'sv') elem - WHERE elem ->> 's' = selector - ); -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.timestamp_ord, b eql_v3.timestamp_ord) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; -COMMENT ON FUNCTION eql_v3.jsonb_path_exists(jsonb, text) IS - 'eql-inline-critical: raw-jsonb path exists helper; must stay inlinable (unpinned search_path)'; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.timestamp_ord, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; ---! @brief Get the first sv element matching `selector`, or NULL. ---! @param val jsonb encrypted EQL payload. ---! @param selector text Selector hash to match. ---! @return eql_v3.ste_vec_entry First matching element or NULL. -CREATE FUNCTION eql_v3.jsonb_path_query_first(val jsonb, selector text) - RETURNS eql_v3.ste_vec_entry - LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT (eql_v3.meta_data(val) || elem)::eql_v3.ste_vec_entry - FROM jsonb_array_elements(val -> 'sv') elem - WHERE elem ->> 's' = selector - LIMIT 1 -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.timestamp_ord) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; -COMMENT ON FUNCTION eql_v3.jsonb_path_query_first(jsonb, text) IS - 'eql-inline-critical: raw-jsonb path first helper; must stay inlinable (unpinned search_path)'; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamp_ord, b eql_v3.timestamp_ord) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; ------------------------------------------------------------------------------- --- Array functions ------------------------------------------------------------------------------- +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamp_ord, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; ---! @brief Get the length of an encrypted JSONB array. ---! @param val jsonb encrypted EQL payload (must have `a` flag true). ---! @return integer Number of elements. ---! @throws Exception 'cannot get array length of a non-array' if not an array. -CREATE FUNCTION eql_v3.jsonb_array_length(val jsonb) - RETURNS integer - IMMUTABLE STRICT PARALLEL SAFE - SET search_path = pg_catalog, extensions, public -AS $$ - DECLARE - sv jsonb[]; - BEGIN - IF eql_v3.is_ste_vec_array(val) THEN - sv := eql_v3.ste_vec(val); - RETURN array_length(sv, 1); - END IF; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param b eql_v3.timestamp_ord +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.timestamp_ord) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; - RAISE 'cannot get array length of a non-array'; - END; -$$ LANGUAGE plpgsql; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param selector text +--! @return eql_v3.timestamp_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.timestamp_ord, selector text) +RETURNS eql_v3.timestamp_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; ---! @brief Extract elements of an encrypted JSONB array as rows. ---! @param val jsonb encrypted EQL payload (must have `a` flag true). ---! @return SETOF eql_v3.ste_vec_entry One row per element (metadata preserved). ---! @throws Exception 'cannot extract elements from non-array' if not an array. -CREATE FUNCTION eql_v3.jsonb_array_elements(val jsonb) - RETURNS SETOF eql_v3.ste_vec_entry - IMMUTABLE STRICT PARALLEL SAFE - SET search_path = pg_catalog, extensions, public -AS $$ - DECLARE - sv jsonb[]; - meta jsonb; - item jsonb; - BEGIN - IF NOT eql_v3.is_ste_vec_array(val) THEN - RAISE 'cannot extract elements from non-array'; - END IF; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param selector integer +--! @return eql_v3.timestamp_ord +CREATE FUNCTION eql_v3."->"(a eql_v3.timestamp_ord, selector integer) +RETURNS eql_v3.timestamp_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; - meta := eql_v3.meta_data(val); - sv := eql_v3.ste_vec(val); +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param selector eql_v3.timestamp_ord +--! @return eql_v3.timestamp_ord +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.timestamp_ord) +RETURNS eql_v3.timestamp_ord IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; - FOR idx IN 1..array_length(sv, 1) LOOP - item = sv[idx]; - RETURN NEXT (meta || item)::eql_v3.ste_vec_entry; - END LOOP; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param selector text +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamp_ord, selector text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; - RETURN; - END; -$$ LANGUAGE plpgsql; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamp_ord, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; ---! @brief Extract elements of an encrypted JSONB array as ciphertext text. ---! @param val jsonb encrypted EQL payload (must have `a` flag true). ---! @return SETOF text One ciphertext per element. ---! @throws Exception 'cannot extract elements from non-array' if not an array. -CREATE FUNCTION eql_v3.jsonb_array_elements_text(val jsonb) - RETURNS SETOF text - IMMUTABLE STRICT PARALLEL SAFE - SET search_path = pg_catalog, extensions, public -AS $$ - DECLARE - sv jsonb[]; - BEGIN - IF NOT eql_v3.is_ste_vec_array(val) THEN - RAISE 'cannot extract elements from non-array'; - END IF; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a jsonb +--! @param selector eql_v3.timestamp_ord +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.timestamp_ord) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; - sv := eql_v3.ste_vec(val); +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b text +--! @return boolean +CREATE FUNCTION eql_v3."?"(a eql_v3.timestamp_ord, b text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; - FOR idx IN 1..array_length(sv, 1) LOOP - RETURN NEXT eql_v3.ciphertext(sv[idx]); - END LOOP; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?|"(a eql_v3.timestamp_ord, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; - RETURN; - END; -$$ LANGUAGE plpgsql; --- AUTOMATICALLY GENERATED FILE --- Source is src/v3/version.template +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?&"(a eql_v3.timestamp_ord, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; -DROP FUNCTION IF EXISTS eql_v3.version(); +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@?"(a eql_v3.timestamp_ord, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; ---! @file v3/version.sql ---! @brief EQL version reporting (self-contained eql_v3 surface) ---! ---! This file is auto-generated from src/v3/version.template during build. ---! The DEV placeholder is replaced with the actual release ---! version (bare semver, e.g. "3.0.0") supplied via `mise run build --version`, ---! or "DEV" for development builds. +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@@"(a eql_v3.timestamp_ord, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; ---! @brief Get the installed EQL version string ---! ---! Returns the version string for the installed EQL library. This value is ---! baked in at build time from the release tag. ---! ---! @return text Version string (e.g. "3.0.0" or "DEV" for development builds) ---! ---! @note Auto-generated during build from src/v3/version.template ---! ---! @example ---! -- Check installed EQL version ---! SELECT eql_v3.version(); ---! -- Returns: '3.0.0' -CREATE FUNCTION eql_v3.version() - RETURNS text - IMMUTABLE STRICT PARALLEL SAFE -AS $$ - SELECT 'DEV'; -$$ LANGUAGE SQL; +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#>"(a eql_v3.timestamp_ord, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.timestamp_ord'; END; $$ +LANGUAGE plpgsql; ---! @brief Schema-level version marker for obj_description() discoverability ---! ---! Mirrors eql_v3.version() as a comment on the schema so the installed ---! version can also be read via obj_description('eql_v3'::regnamespace). -COMMENT ON SCHEMA eql_v3 IS 'DEV'; --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/int4/int4_ord_aggregates.sql ---! @brief Aggregates for eql_v3.int4_ord. - ---! @brief State function for min on eql_v3.int4_ord. ---! @param state eql_v3.int4_ord ---! @param value eql_v3.int4_ord ---! @return eql_v3.int4_ord -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.int4_ord, value eql_v3.int4_ord) -RETURNS eql_v3.int4_ord -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value < state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; - ---! @brief min aggregate for eql_v3.int4_ord. ---! @param input eql_v3.int4_ord ---! @return eql_v3.int4_ord -CREATE AGGREGATE eql_v3.min(eql_v3.int4_ord) ( - sfunc = eql_v3.min_sfunc, - stype = eql_v3.int4_ord, - combinefunc = eql_v3.min_sfunc, - parallel = safe -); - ---! @brief State function for max on eql_v3.int4_ord. ---! @param state eql_v3.int4_ord ---! @param value eql_v3.int4_ord ---! @return eql_v3.int4_ord -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.int4_ord, value eql_v3.int4_ord) -RETURNS eql_v3.int4_ord -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value > state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; - ---! @brief max aggregate for eql_v3.int4_ord. ---! @param input eql_v3.int4_ord ---! @return eql_v3.int4_ord -CREATE AGGREGATE eql_v3.max(eql_v3.int4_ord) ( - sfunc = eql_v3.max_sfunc, - stype = eql_v3.int4_ord, - combinefunc = eql_v3.max_sfunc, - parallel = safe -); --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/int4/int4_functions.sql ---! @brief Functions for eql_v3.int4. - ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int4, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int4, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b text[] +--! @return text +CREATE FUNCTION eql_v3."#>>"(a eql_v3.timestamp_ord, b text[]) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.timestamp_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a jsonb ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b text +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp_ord, b text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int4, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b integer +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp_ord, b integer) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int4, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp_ord, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a jsonb ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#-"(a eql_v3.timestamp_ord, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.timestamp_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int4, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord +--! @param b eql_v3.timestamp_ord +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.timestamp_ord, b eql_v3.timestamp_ord) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. +--! @param a eql_v3.timestamp_ord --! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int4, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int4'; END; $$ +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.timestamp_ord, b jsonb) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp_ord'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. +--! @brief Unsupported operator blocker for eql_v3.timestamp_ord. --! @param a jsonb ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int4'; END; $$ +--! @param b eql_v3.timestamp_ord +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.timestamp_ord) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp_ord'; END; $$ LANGUAGE plpgsql; +-- AUTOMATICALLY GENERATED FILE. ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int4, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; +--! @file encrypted_domain/timestamp/timestamp_ord_operators.sql +--! @brief Operators for eql_v3.timestamp_ord. ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int4, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a jsonb ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int4, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int4, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a jsonb ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int4, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int4, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a jsonb ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b eql_v3.int4 ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int4, b eql_v3.int4) +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonb, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonb, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonb, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = eql_v3.timestamp_ord +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonb +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = eql_v3.timestamp_ord +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonb +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = integer +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = integer +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord +); + +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text +); + +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text[] +); + +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text[] +); + +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonpath +); + +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonpath +); + +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text[] +); + +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text[] +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = integer +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text[] +); + +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = text[] +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = eql_v3.timestamp_ord +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.timestamp_ord, RIGHTARG = jsonb +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord +); +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/timestamp/timestamp_eq_functions.sql +--! @brief Functions for eql_v3.timestamp_eq. + +--! @brief Index extractor for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @return eql_v3.hmac_256 +CREATE FUNCTION eql_v3.eq_term(a eql_v3.timestamp_eq) +RETURNS eql_v3.hmac_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.hmac_256(a::jsonb) $$; + +--! @brief Operator wrapper for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.timestamp_eq, b eql_v3.timestamp_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b) $$; + +--! @brief Operator wrapper for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.timestamp_eq, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) = eql_v3.eq_term(b::eql_v3.timestamp_eq) $$; + +--! @brief Operator wrapper for eql_v3.timestamp_eq. +--! @param a jsonb +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.timestamp_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a::eql_v3.timestamp_eq) = eql_v3.eq_term(b) $$; + +--! @brief Operator wrapper for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.timestamp_eq, b eql_v3.timestamp_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b) $$; + +--! @brief Operator wrapper for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.timestamp_eq, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a) <> eql_v3.eq_term(b::eql_v3.timestamp_eq) $$; + +--! @brief Operator wrapper for eql_v3.timestamp_eq. +--! @param a jsonb +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.timestamp_eq) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.eq_term(a::eql_v3.timestamp_eq) <> eql_v3.eq_term(b) $$; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.timestamp_eq, b eql_v3.timestamp_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int4, b jsonb) +CREATE FUNCTION eql_v3.lt(a eql_v3.timestamp_eq, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. --! @param a jsonb ---! @param b eql_v3.int4 +--! @param b eql_v3.timestamp_eq --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int4) +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.timestamp_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b eql_v3.timestamp_eq --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int4, b eql_v3.int4) +CREATE FUNCTION eql_v3.lte(a eql_v3.timestamp_eq, b eql_v3.timestamp_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int4, b jsonb) +CREATE FUNCTION eql_v3.lte(a eql_v3.timestamp_eq, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. --! @param a jsonb ---! @param b eql_v3.int4 +--! @param b eql_v3.timestamp_eq --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int4) +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.timestamp_eq) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param selector text ---! @return eql_v3.int4 -CREATE FUNCTION eql_v3."->"(a eql_v3.int4, selector text) -RETURNS eql_v3.int4 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.timestamp_eq, b eql_v3.timestamp_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param selector integer ---! @return eql_v3.int4 -CREATE FUNCTION eql_v3."->"(a eql_v3.int4, selector integer) -RETURNS eql_v3.int4 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.timestamp_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. --! @param a jsonb ---! @param selector eql_v3.int4 ---! @return eql_v3.int4 -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int4) -RETURNS eql_v3.int4 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4'; END; $$ +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.timestamp_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int4, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.timestamp_eq, b eql_v3.timestamp_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int4, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.timestamp_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. --! @param a jsonb ---! @param selector eql_v3.int4 +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.timestamp_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.timestamp_eq, b eql_v3.timestamp_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.timestamp_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a jsonb +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.timestamp_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamp_eq, b eql_v3.timestamp_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamp_eq, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a jsonb +--! @param b eql_v3.timestamp_eq +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.timestamp_eq) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param selector text +--! @return eql_v3.timestamp_eq +CREATE FUNCTION eql_v3."->"(a eql_v3.timestamp_eq, selector text) +RETURNS eql_v3.timestamp_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param selector integer +--! @return eql_v3.timestamp_eq +CREATE FUNCTION eql_v3."->"(a eql_v3.timestamp_eq, selector integer) +RETURNS eql_v3.timestamp_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a jsonb +--! @param selector eql_v3.timestamp_eq +--! @return eql_v3.timestamp_eq +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.timestamp_eq) +RETURNS eql_v3.timestamp_eq IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int4) +CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamp_eq, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamp_eq, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a jsonb +--! @param selector eql_v3.timestamp_eq +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.timestamp_eq) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp_eq'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.int4, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.timestamp_eq, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.int4, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.timestamp_eq, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.int4, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.timestamp_eq, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.int4, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.timestamp_eq, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.int4, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.timestamp_eq, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.int4, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.timestamp_eq, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.int4, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.timestamp_eq, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int4, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp_eq, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int4, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp_eq, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int4, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp_eq, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.int4, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.timestamp_eq, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 ---! @param b eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq +--! @param b eql_v3.timestamp_eq --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int4, b eql_v3.int4) +CREATE FUNCTION eql_v3."||"(a eql_v3.timestamp_eq, b eql_v3.timestamp_eq) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. ---! @param a eql_v3.int4 +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. +--! @param a eql_v3.timestamp_eq --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int4, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.timestamp_eq, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4. +--! @brief Unsupported operator blocker for eql_v3.timestamp_eq. --! @param a jsonb ---! @param b eql_v3.int4 +--! @param b eql_v3.timestamp_eq --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int4) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.timestamp_eq) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp_eq'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/int4/int4_eq_operators.sql ---! @brief Operators for eql_v3.int4_eq. +--! @file encrypted_domain/timestamp/timestamp_ord_ore_operators.sql +--! @brief Operators for eql_v3.timestamp_ord_ore. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = eql_v3.timestamp_ord_ore, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = eql_v3.timestamp_ord_ore +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonb +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = eql_v3.timestamp_ord_ore +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonb +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = integer +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = integer +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore +); + +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text +); + +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text[] +); + +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text[] +); + +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonpath +); + +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonpath +); + +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text[] +); + +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text[] +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = integer +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text[] +); + +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = text[] +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = eql_v3.timestamp_ord_ore +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.timestamp_ord_ore, RIGHTARG = jsonb +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_ord_ore +); + +--! @file v3/sem/ore_cllw/types.sql +--! @brief CLLW ORE index term type for STE-vec range queries (eql_v3 SEM) +--! +--! Composite type for CLLW (Copyless Logarithmic Width) Order-Revealing +--! Encryption. The ciphertext is stored in the `oc` field of encrypted data +--! payloads (Standard-mode `ste_vec` elements). Used by the range operators +--! (`<`, `<=`, `>`, `>=`) when an sv element carries an `oc` term. +--! +--! The wire-format `oc` value is a hex string with a leading domain-tag byte +--! (`0x00` numeric, `0x01` string) followed by the CLLW ciphertext. The +--! decoded `bytes` field carries the full byte string including the tag — the +--! comparator is variable-length capable, so numeric and string values within +--! the same column order correctly: the domain tag separates the ranges +--! (numeric < string) and the within-domain comparison falls through to the +--! CLLW per-byte protocol. +--! +--! @note This is a transient type used only during query execution. +--! @see eql_v3.compare_ore_cllw_term +CREATE TYPE eql_v3.ore_cllw AS ( + bytes bytea +); + +--! @file v3/sem/ore_cllw/functions.sql +--! @brief CLLW ORE index-term extraction and comparison (eql_v3 SEM). + +--! @brief Extract CLLW ORE index term from raw jsonb +--! +--! Returns the CLLW ORE ciphertext from the `oc` field of a single sv element +--! supplied as raw jsonb. Inlinable single-statement SQL — the planner folds +--! the body into the calling query. +--! +--! **Missing-`oc` semantics**: returns SQL-level NULL (not a composite with +--! NULL bytes) when `oc` is absent, so btree's NULL handling filters those +--! rows from range queries. +--! +--! @param val jsonb An object carrying an `oc` field +--! @return eql_v3.ore_cllw Composite carrying the CLLW ciphertext, or NULL +--! when the `oc` field is absent. +--! @see eql_v3.has_ore_cllw +--! @see eql_v3.compare_ore_cllw_term +CREATE FUNCTION eql_v3.ore_cllw(val jsonb) + RETURNS eql_v3.ore_cllw + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT CASE WHEN val ->> 'oc' IS NULL THEN NULL + ELSE ROW(decode(val ->> 'oc', 'hex'))::eql_v3.ore_cllw + END +$$; + +COMMENT ON FUNCTION eql_v3.ore_cllw(jsonb) IS + 'eql-inline-critical: raw-jsonb CLLW extractor; must stay inlinable (unpinned search_path)'; + +--! @brief Check if a raw jsonb value contains a CLLW ORE index term +--! @param val jsonb An object that may carry an `oc` field +--! @return boolean True if `oc` field is present and non-null +CREATE FUNCTION eql_v3.has_ore_cllw(val jsonb) + RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT val ->> 'oc' IS NOT NULL +$$; + +COMMENT ON FUNCTION eql_v3.has_ore_cllw(jsonb) IS + 'eql-inline-critical: raw-jsonb CLLW presence helper; must stay inlinable (unpinned search_path)'; + +--! @brief CLLW per-byte comparison helper +--! @internal +--! +--! Byte-by-byte comparison implementing the CLLW order-revealing protocol. +--! Identify the index of the first differing byte; if `(y_byte + 1) == x_byte` +--! (mod 256) there, then x > y; otherwise x < y. Equal inputs return 0. Inputs +--! MUST be the same length (the caller guarantees this). Stays `LANGUAGE +--! plpgsql` — the per-byte loop can't be a single inlinable SQL expression. +--! +--! @param a bytea First CLLW ciphertext slice +--! @param b bytea Second CLLW ciphertext slice +--! @return integer -1, 0, or 1 +--! @throws Exception if inputs are different lengths +--! @see eql_v3.compare_ore_cllw_term +CREATE FUNCTION eql_v3.compare_ore_cllw_term_bytes(a bytea, b bytea) +RETURNS int + SET search_path = pg_catalog, extensions, public +AS $$ +DECLARE + len_a INT; + len_b INT; + i INT; + first_diff INT := 0; +BEGIN + + len_a := LENGTH(a); + len_b := LENGTH(b); + + IF len_a != len_b THEN + RAISE EXCEPTION 'ore_cllw index terms are not the same length'; + END IF; + + FOR i IN 1..len_a LOOP + IF first_diff = 0 AND get_byte(a, i - 1) != get_byte(b, i - 1) THEN + first_diff := i; + END IF; + END LOOP; + + IF first_diff = 0 THEN + RETURN 0; + END IF; + + IF ((get_byte(b, first_diff - 1) + 1) & 255) = get_byte(a, first_diff - 1) THEN + RETURN 1; + ELSE + RETURN -1; + END IF; +END; +$$ LANGUAGE plpgsql; + +--! @brief Variable-length CLLW ORE term comparison +--! @internal +--! +--! Three-way comparison of two CLLW ORE ciphertext terms of potentially +--! different lengths. Compares the shared prefix via the CLLW per-byte +--! protocol; on equal prefixes, the shorter input sorts first. The leading +--! domain-tag byte makes numeric (`0x00`) sort before string (`0x01`). Stays +--! `LANGUAGE plpgsql` because it dispatches to `compare_ore_cllw_term_bytes`. +--! +--! btree filters NULL composites at the row level, so this should never see a +--! NULL composite under normal operation; the IS-NULL guard returns NULL +--! defensively. A non-NULL composite with NULL `bytes` is a contract violation +--! — the extractor returns SQL NULL (not ROW(NULL)) on missing `oc`, so raise +--! loudly rather than silently misorder. +--! +--! @param a eql_v3.ore_cllw First term +--! @param b eql_v3.ore_cllw Second term +--! @return integer -1, 0, or 1; NULL if either composite is NULL +--! @throws Exception if either composite has a NULL `bytes` field +--! @see eql_v3.compare_ore_cllw_term_bytes +CREATE FUNCTION eql_v3.compare_ore_cllw_term(a eql_v3.ore_cllw, b eql_v3.ore_cllw) +RETURNS int + SET search_path = pg_catalog, extensions, public +AS $$ +DECLARE + len_a INT; + len_b INT; + common_len INT; + cmp_result INT; +BEGIN + -- The `::text` cast is load-bearing, not a stylistic choice. For the + -- single-field `ore_cllw` composite, `ROW(NULL)::ore_cllw IS NULL` is TRUE + -- but `(ROW(NULL)::ore_cllw)::text IS NULL` is FALSE. Casting to text first + -- means a NULL-component composite falls THROUGH to the RAISE below (the + -- extractor-invariant violation) instead of silently returning NULL and + -- masking it. A plain `a IS NULL` would reintroduce that masking bug. + IF a::text IS NULL OR b::text IS NULL THEN + RETURN NULL; + END IF; + + IF a.bytes IS NULL OR b.bytes IS NULL THEN + RAISE EXCEPTION 'eql_v3.compare_ore_cllw_term: composite has NULL bytes field — extractor invariant violated. Check that the index expression uses eql_v3.ore_cllw(...) and not a hand-crafted ROW(NULL).'; + END IF; + + len_a := LENGTH(a.bytes); + len_b := LENGTH(b.bytes); + + IF len_a = 0 AND len_b = 0 THEN + RETURN 0; + ELSIF len_a = 0 THEN + RETURN -1; + ELSIF len_b = 0 THEN + RETURN 1; + END IF; + + IF len_a < len_b THEN + common_len := len_a; + ELSE + common_len := len_b; + END IF; + + cmp_result := eql_v3.compare_ore_cllw_term_bytes( + SUBSTRING(a.bytes FROM 1 FOR common_len), + SUBSTRING(b.bytes FROM 1 FOR common_len) + ); + + IF cmp_result = -1 THEN + RETURN -1; + ELSIF cmp_result = 1 THEN + RETURN 1; + END IF; + + IF len_a < len_b THEN + RETURN -1; + ELSIF len_a > len_b THEN + RETURN 1; + ELSE + RETURN 0; + END IF; +END; +$$ LANGUAGE plpgsql; + +--! @file v3/jsonb/types.sql +--! @brief Domain types for the eql_v3 encrypted-JSONB (SteVec) surface. +--! +--! Three jsonb-backed domains (none over another domain — operators resolve +--! against the ultimate base type jsonb, so the native-jsonb firewall in +--! blockers.sql can attach): +--! - eql_v3.json — storage/root: an EQL envelope object ({i, v, ...}). +--! - eql_v3.jsonb_entry — a single sv element (returned by `->`). +--! - eql_v3.jsonb_query — a containment needle (sv elements, no ciphertext). + +--! @brief Validate a single SteVec entry payload. +--! @internal +--! @param val jsonb Candidate entry payload. +--! @return boolean True when `val` is an sv entry with string `s`, string `c`, +--! and exactly one string deterministic term (`hm` XOR `oc`). +CREATE FUNCTION eql_v3.is_valid_ste_vec_entry_payload(val jsonb) + RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT COALESCE( + jsonb_typeof(val) = 'object' + AND jsonb_typeof(val -> 's') = 'string' + AND jsonb_typeof(val -> 'c') = 'string' + AND ( + (jsonb_typeof(val -> 'hm') = 'string' AND NOT (val ? 'oc')) + OR + (jsonb_typeof(val -> 'oc') = 'string' AND NOT (val ? 'hm')) + ), + false + ) +$$; + +--! @brief Validate a SteVec containment query payload. +--! @internal +--! @param val jsonb Candidate query payload. +--! @return boolean True when `val` is `{"sv":[...]}` and every element carries +--! string `s`, no ciphertext, and exactly one string term (`hm` XOR +--! `oc`). +CREATE FUNCTION eql_v3.is_valid_ste_vec_query_payload(val jsonb) + RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT COALESCE( + jsonb_typeof(val) = 'object' + AND jsonb_typeof(val -> 'sv') = 'array' + AND NOT EXISTS ( + SELECT 1 + FROM jsonb_array_elements( + CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END + ) AS elem + WHERE NOT COALESCE(( + jsonb_typeof(elem) = 'object' + AND jsonb_typeof(elem -> 's') = 'string' + AND NOT (elem ? 'c') + AND ( + (jsonb_typeof(elem -> 'hm') = 'string' AND NOT (elem ? 'oc')) + OR + (jsonb_typeof(elem -> 'oc') = 'string' AND NOT (elem ? 'hm')) + ) + ), false) + ), + false + ) +$$; + +--! @brief Validate a root SteVec document payload. +--! @internal +--! @param val jsonb Candidate document payload. +--! @return boolean True when `val` is an encrypted document envelope with +--! `v = 2`, `i`, an `sv` array, and valid sv entry elements. +CREATE FUNCTION eql_v3.is_valid_ste_vec_document_payload(val jsonb) + RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT COALESCE( + jsonb_typeof(val) = 'object' + AND val ? 'v' + AND val ->> 'v' = '2' + AND val ? 'i' + AND jsonb_typeof(val -> 'sv') = 'array' + AND NOT EXISTS ( + SELECT 1 + FROM jsonb_array_elements( + CASE WHEN jsonb_typeof(val -> 'sv') = 'array' THEN val -> 'sv' ELSE '[]'::jsonb END + ) AS elem + WHERE NOT eql_v3.is_valid_ste_vec_entry_payload(elem) + ), + false + ) +$$; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @brief Storage/root domain for an encrypted JSONB column. +--! +--! CHECK: a JSON object carrying the EQL envelope (`v = 2` version and `i` index +--! metadata). Root `c` is intentionally NOT required — an sv-array root payload +--! is `{i, v, sv}` with no root ciphertext. The CHECK now also requires an `sv` +--! array, so the domain accepts only SteVec **document** payloads and rejects +--! encrypted *scalar* payloads (which carry `c`/`hm`/`ob` but no `sv`) — this is +--! what keeps `eql_v3.json` a typed document domain rather than a generic +--! encrypted envelope. The firewall in blockers.sql attaches to this domain to +--! stop native jsonb operators from reaching a column value. +--! +--! @note Constructing from inline JSON uses the standard DOMAIN cast: +--! `'{"i":{},"v":2,"sv":[...]}'::eql_v3.json`. +CREATE DOMAIN eql_v3.json AS jsonb + CHECK ( + eql_v3.is_valid_ste_vec_document_payload(VALUE) + ); -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @brief Domain type for an individual sv element. +--! +--! A single element inside an `sv` array: a JSON object that carries a selector +--! (`s`), a ciphertext (`c`), and **exactly one** of `hm` (HMAC-256, for +--! hash-equality) or `oc` (CLLW ORE, for ordered queries) — they are mutually +--! exclusive. This is the type returned by `->` and accepted by the per-entry +--! extractors `eql_v3.eq_term` / `eql_v3.ore_cllw`. Extra fields (`a`, root +--! `i`/`v` merged in by `->`) are allowed. +--! +--! @see src/v3/jsonb/operators.sql +CREATE DOMAIN eql_v3.jsonb_entry AS jsonb + CHECK ( + eql_v3.is_valid_ste_vec_entry_payload(VALUE) + ); -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); +--! @brief Domain type for an STE-vec containment needle. +--! +--! A query-shaped payload `{"sv":[...]}` whose elements carry selector + index +--! term but **never** a ciphertext (`c`). Each element must carry `s` and +--! exactly one deterministic term (`hm` XOR `oc`). Typing the needle this way +--! stops selector-only needles from casting and matching every row via bare +--! `jsonb @>`. +--! +--! @note Construct from inline JSON via the DOMAIN cast: +--! `'{"sv":[{"s":"","hm":""}]}'::eql_v3.jsonb_query`. +--! @see eql_v3.to_ste_vec_query +CREATE DOMAIN eql_v3.jsonb_query AS jsonb + CHECK ( + eql_v3.is_valid_ste_vec_query_payload(VALUE) + ); -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq -); +--! @brief Convert an eql_v3.json to a jsonb_query needle. +--! +--! Normalises each sv element down to the matching-relevant fields: `s` plus +--! exactly one of `hm` / `oc`. Other fields (`c`, `a`, `i`/`v`, anything else) +--! are stripped. This is the canonical needle shape for `@>` containment. +--! Designed for use as a functional GIN index expression: +--! `GIN (eql_v3.to_ste_vec_query(col)::jsonb jsonb_path_ops)`. +--! +--! @param e eql_v3.json Source encrypted payload +--! @return eql_v3.jsonb_query Query-shaped needle, sv elements normalised. +--! @see eql_v3.jsonb_query +CREATE FUNCTION eql_v3.to_ste_vec_query(e eql_v3.json) + RETURNS eql_v3.jsonb_query + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT jsonb_build_object( + 'sv', + coalesce( + (SELECT jsonb_agg( + jsonb_strip_nulls( + jsonb_build_object( + 's', elem -> 's', + 'hm', elem -> 'hm', + 'oc', elem -> 'oc' + ) + ) + ) + FROM jsonb_array_elements(e::jsonb -> 'sv') AS elem), + '[]'::jsonb + ) + )::eql_v3.jsonb_query +$$; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb -); +CREATE CAST (eql_v3.json AS eql_v3.jsonb_query) + WITH FUNCTION eql_v3.to_ste_vec_query + AS ASSIGNMENT; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq -); +--! @file v3/jsonb/functions.sql +--! @brief Extractors, containment engine, and path/array functions for the +--! eql_v3 encrypted-JSONB (SteVec) surface. +--! +--! `selector` parameters here are *encrypted-side* selector hashes — the +--! deterministic hash the crypto layer emits in the `s` field of each sv +--! element. Plaintext JSONPaths are never accepted at runtime. -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq -); +------------------------------------------------------------------------------ +-- Envelope helpers (eql_v3 owns these; jsonb-only) +------------------------------------------------------------------------------ -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb -); +--! @brief Extract metadata (i, v) from a raw jsonb encrypted value. +--! @param val jsonb encrypted EQL payload +--! @return jsonb Metadata object with `i` and `v` fields. +CREATE FUNCTION eql_v3.meta_data(val jsonb) + RETURNS jsonb + IMMUTABLE STRICT PARALLEL SAFE + LANGUAGE SQL +AS $$ + SELECT jsonb_build_object('i', val->'i', 'v', val->'v'); +$$; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq -); +COMMENT ON FUNCTION eql_v3.meta_data(jsonb) IS + 'eql-inline-critical: raw-jsonb envelope helper used by v3 jsonb wrappers; must stay inlinable (unpinned search_path)'; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq -); +--! @brief Extract ciphertext (c) from a raw jsonb encrypted value. +--! @param val jsonb encrypted EQL payload +--! @return text Base64-encoded ciphertext. +--! @throws Exception if `c` is absent. +CREATE FUNCTION eql_v3.ciphertext(val jsonb) + RETURNS text + IMMUTABLE STRICT PARALLEL SAFE + SET search_path = pg_catalog, extensions, public +AS $$ + BEGIN + IF val ? 'c' THEN + RETURN val->>'c'; + END IF; + RAISE 'Expected a ciphertext (c) value in json: %', val; + END; +$$ LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb -); +------------------------------------------------------------------------------ +-- Selector extractors +------------------------------------------------------------------------------ -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq -); +--! @brief Extract selector (s) from a raw jsonb encrypted value. +--! @param val jsonb encrypted EQL payload +--! @return text The selector value. +--! @throws Exception if `s` is absent. +CREATE FUNCTION eql_v3.selector(val jsonb) + RETURNS text + IMMUTABLE STRICT PARALLEL SAFE + SET search_path = pg_catalog, extensions, public +AS $$ + BEGIN + IF val ? 's' THEN + RETURN val->>'s'; + END IF; + RAISE 'Expected a selector index (s) value in json: %', val; + END; +$$ LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq -); +--! @brief Extract selector (s) from a ste_vec entry. The DOMAIN CHECK +--! guarantees `s` is present, so this is a simple field access. +--! @param entry eql_v3.jsonb_entry +--! @return text The selector value. +CREATE FUNCTION eql_v3.selector(entry eql_v3.jsonb_entry) + RETURNS text + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT entry ->> 's' +$$; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb -); +------------------------------------------------------------------------------ +-- Equality-term extractor (XOR-aware: coalesce(hm, oc)) +------------------------------------------------------------------------------ -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq -); +--! @brief XOR-aware equality term extractor for eql_v3.jsonb_entry. +--! +--! Returns the bytea of whichever deterministic term the sv entry carries — +--! `hm` (HMAC-256) or `oc` (CLLW ORE). The two byte distributions are disjoint +--! by construction, so byte equality on the coalesce is unambiguous. Canonical +--! equality extractor used by `=` / `<>` on jsonb_entry. +--! +--! @param entry eql_v3.jsonb_entry +--! @return bytea Decoded `hm` or `oc` bytes (NULL if entry is NULL). +CREATE FUNCTION eql_v3.eq_term(entry eql_v3.jsonb_entry) + RETURNS bytea + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT decode(coalesce(entry ->> 'hm', entry ->> 'oc'), 'hex') +$$; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq -); +------------------------------------------------------------------------------ +-- ORE CLLW per-entry overloads (live here so sem/ore_cllw stays a leaf) +------------------------------------------------------------------------------ -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb -); +--! @brief Extract CLLW ORE index term from a ste_vec entry. +--! +--! `oc` is only ever present on an sv element, never at a root encrypted value, +--! so the typed overload accepts eql_v3.jsonb_entry. Returns SQL NULL when +--! `oc` is absent (btree NULL-filters such rows from range queries). +--! +--! @param entry eql_v3.jsonb_entry +--! @return eql_v3.ore_cllw Composite carrying the CLLW ciphertext, or NULL. +--! @see eql_v3.has_ore_cllw +CREATE FUNCTION eql_v3.ore_cllw(entry eql_v3.jsonb_entry) + RETURNS eql_v3.ore_cllw + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT CASE WHEN entry ->> 'oc' IS NULL THEN NULL + ELSE ROW(decode(entry ->> 'oc', 'hex'))::eql_v3.ore_cllw + END +$$; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq -); +--! @brief Check if a ste_vec entry contains a CLLW ORE index term. +--! @param entry eql_v3.jsonb_entry +--! @return boolean True if `oc` is present and non-null. +CREATE FUNCTION eql_v3.has_ore_cllw(entry eql_v3.jsonb_entry) + RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT entry ->> 'oc' IS NOT NULL +$$; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq -); +------------------------------------------------------------------------------ +-- sv-array helpers +------------------------------------------------------------------------------ -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb -); +--! @brief Extract the sv element array as raw jsonb[]. +--! +--! Returns the elements of `sv` (or a single-element array wrapping the value +--! when there is no `sv`). No envelope re-wrapping — raw jsonb elements. +--! +--! @param val jsonb encrypted EQL payload +--! @return jsonb[] Array of sv elements. +CREATE FUNCTION eql_v3.ste_vec(val jsonb) + RETURNS jsonb[] + IMMUTABLE STRICT PARALLEL SAFE + SET search_path = pg_catalog, extensions, public +AS $$ + DECLARE + sv jsonb; + ary jsonb[]; + BEGIN + IF val ? 'sv' THEN + sv := val->'sv'; + ELSE + sv := jsonb_build_array(val); + END IF; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq -); + SELECT array_agg(elem) + INTO ary + FROM jsonb_array_elements(sv) AS elem; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text -); + RETURN ary; + END; +$$ LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int4_eq, RIGHTARG = integer -); +--! @brief Check if a jsonb payload is marked as an sv array (`a` flag true). +--! @param val jsonb encrypted EQL payload +--! @return boolean True if `a` is present and true. +CREATE FUNCTION eql_v3.is_ste_vec_array(val jsonb) + RETURNS boolean + IMMUTABLE STRICT PARALLEL SAFE + SET search_path = pg_catalog, extensions, public +AS $$ + BEGIN + IF val ? 'a' THEN + RETURN (val->>'a')::boolean; + END IF; + RETURN false; + END; +$$ LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq -); +------------------------------------------------------------------------------ +-- Deterministic-fields array for GIN containment +------------------------------------------------------------------------------ -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text -); +--! @brief Extract deterministic search fields (s, hm, oc, op) per sv element. +--! +--! Excludes non-deterministic ciphertext so PostgreSQL's native jsonb `@>` can +--! compare for containment. Use for GIN indexes and containment queries. +--! +--! @param val jsonb encrypted EQL payload +--! @return jsonb[] Array of objects with only deterministic fields. +CREATE FUNCTION eql_v3.jsonb_array(val jsonb) +RETURNS jsonb[] +IMMUTABLE STRICT PARALLEL SAFE +LANGUAGE SQL +AS $$ + SELECT ARRAY( + SELECT jsonb_object_agg(kv.key, kv.value) + FROM jsonb_array_elements( + CASE WHEN val ? 'sv' THEN val->'sv' ELSE jsonb_build_array(val) END + ) AS elem, + LATERAL jsonb_each(elem) AS kv(key, value) + WHERE kv.key IN ('s', 'hm', 'oc', 'op') + GROUP BY elem + ); +$$; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int4_eq, RIGHTARG = integer -); +COMMENT ON FUNCTION eql_v3.jsonb_array(jsonb) IS + 'eql-inline-critical: raw-jsonb deterministic-field array helper; must stay inlinable (unpinned search_path)'; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq -); +------------------------------------------------------------------------------ +-- Containment +------------------------------------------------------------------------------ -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text -); +--! @brief GIN-indexable containment check: does `a` contain all of `b`? +--! @param a jsonb Container payload. +--! @param b jsonb Search payload. +--! @return boolean True if a contains all deterministic elements of b. +--! @note Convenience helper for hand-rolled GIN index expressions over the +--! raw extracted `jsonb[]` array (see database-indexes.md). The typed +--! `eql_v3.json` `@>`/`<@` operators do NOT call this function — they +--! bind to `eql_v3.ste_vec_contains` instead. Public API, reachable +--! only from caller-authored SQL. +CREATE FUNCTION eql_v3.jsonb_contains(a jsonb, b jsonb) +RETURNS boolean +IMMUTABLE STRICT PARALLEL SAFE +LANGUAGE SQL +AS $$ + SELECT eql_v3.jsonb_array(a) @> eql_v3.jsonb_array(b); +$$; -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] -); +COMMENT ON FUNCTION eql_v3.jsonb_contains(jsonb, jsonb) IS + 'eql-inline-critical: raw-jsonb containment helper; must stay inlinable (unpinned search_path)'; -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] -); +--! @brief GIN-indexable "is contained by" check. +--! @param a jsonb Payload to check. +--! @param b jsonb Container payload. +--! @return boolean True if all elements of a are contained in b. +--! @note Convenience helper for hand-rolled GIN index expressions over the +--! raw extracted `jsonb[]` array (see database-indexes.md). The typed +--! `eql_v3.json` `@>`/`<@` operators do NOT call this function — they +--! bind to `eql_v3.ste_vec_contains` instead. Public API, reachable +--! only from caller-authored SQL. +CREATE FUNCTION eql_v3.jsonb_contained_by(a jsonb, b jsonb) +RETURNS boolean +IMMUTABLE STRICT PARALLEL SAFE +LANGUAGE SQL +AS $$ + SELECT eql_v3.jsonb_array(a) <@ eql_v3.jsonb_array(b); +$$; -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonpath -); +COMMENT ON FUNCTION eql_v3.jsonb_contained_by(jsonb, jsonb) IS + 'eql-inline-critical: raw-jsonb contained-by helper; must stay inlinable (unpinned search_path)'; -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonpath -); +--! @brief Check if an sv array contains a specific sv element. +--! +--! Match = selector equal AND eq_term equal (byte-equality over coalesce(hm, +--! oc)). This collapses the v2 hm/oc CASE: under the XOR contract both terms +--! are deterministic and byte-disjoint, so either one is a valid equality +--! discriminator and a single byte comparison is correct. +--! +--! ASSUMPTION (locked by a negative test in v3_jsonb_tests.rs): hm and oc byte +--! distributions never collide at a given selector. The crypto layer configures +--! a selector for eq XOR ordered, so both sides of a real comparison carry the +--! same term type; and an oc value carries a leading domain-tag byte an hm never +--! has. Unlike v2's explicit `has_hmac(both)`/`has_ore_cllw(both)`/`ELSE false` +--! CASE, this collapse would wrongly match an hm needle against an oc leaf if +--! their hex bytes were ever identical — which the contract prevents. The +--! negative-containment test guards against regression. +--! +--! @param a jsonb[] sv array to search within. +--! @param b jsonb sv element to search for. +--! @return boolean True if b is found in any element of a. +CREATE FUNCTION eql_v3.ste_vec_contains(a jsonb[], b jsonb) + RETURNS boolean + IMMUTABLE STRICT PARALLEL SAFE + SET search_path = pg_catalog, extensions, public +AS $$ + DECLARE + result boolean; + _a jsonb; + BEGIN + result := false; -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] -); + FOR idx IN 1..array_length(a, 1) LOOP + _a := a[idx]; + result := result OR ( + eql_v3.selector(_a) = eql_v3.selector(b) + AND eql_v3.eq_term(_a::eql_v3.jsonb_entry) = eql_v3.eq_term(b::eql_v3.jsonb_entry) + ); + EXIT WHEN result; + END LOOP; -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] -); + RETURN result; + END; +$$ LANGUAGE plpgsql; + +--! @brief Does encrypted value `a` contain all sv elements of `b`? +--! +--! Empty b is always contained. Each element of b must match selector + eq_term +--! in some element of a. +--! +--! @param a eql_v3.json Container. +--! @param b eql_v3.json Elements to find. +--! @return boolean True if all elements of b are contained in a. +--! @see eql_v3.ste_vec_contains(jsonb[], jsonb) +CREATE FUNCTION eql_v3.ste_vec_contains(a eql_v3.json, b eql_v3.json) + RETURNS boolean + IMMUTABLE STRICT PARALLEL SAFE + SET search_path = pg_catalog, extensions, public +AS $$ + DECLARE + result boolean; + sv_a jsonb[]; + sv_b jsonb[]; + _b jsonb; + BEGIN + sv_a := eql_v3.ste_vec(a); + sv_b := eql_v3.ste_vec(b); -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text -); + IF array_length(sv_b, 1) IS NULL THEN + RETURN true; + END IF; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int4_eq, RIGHTARG = integer -); + IF array_length(sv_a, 1) IS NULL THEN + RETURN false; + END IF; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] -); + result := true; -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] -); + FOR idx IN 1..array_length(sv_b, 1) LOOP + _b := sv_b[idx]; + result := result AND eql_v3.ste_vec_contains(sv_a, _b); + END LOOP; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq -); + RETURN result; + END; +$$ LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb -); +------------------------------------------------------------------------------ +-- Path queries (text selector only) +------------------------------------------------------------------------------ -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq -); --- AUTOMATICALLY GENERATED FILE. +--! @brief Query encrypted JSONB for sv elements matching `selector`. +--! +--! Returns one jsonb_entry row per matching encrypted element. Returns empty +--! set on no match. It deliberately does not wrap multiple matches as an +--! eql_v3.json document, because the root document domain requires an `sv` +--! array and single leaves belong to eql_v3.jsonb_entry. +--! +--! @param val jsonb encrypted EQL payload with `sv`. +--! @param selector text Selector hash (`s` value). +--! @return SETOF eql_v3.jsonb_entry Matching encrypted entries. +--! @see eql_v3.jsonb_path_query_first +CREATE FUNCTION eql_v3.jsonb_path_query(val jsonb, selector text) + RETURNS SETOF eql_v3.jsonb_entry + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT (eql_v3.meta_data(val) || elem)::eql_v3.jsonb_entry + FROM jsonb_array_elements(val -> 'sv') elem + WHERE elem ->> 's' = selector +$$; ---! @file encrypted_domain/int4/int4_ord_ore_functions.sql ---! @brief Functions for eql_v3.int4_ord_ore. +COMMENT ON FUNCTION eql_v3.jsonb_path_query(jsonb, text) IS + 'eql-inline-critical: raw-jsonb path query helper; must stay inlinable (unpinned search_path)'; ---! @brief Index extractor for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @return eql_v3.ore_block_256 -CREATE FUNCTION eql_v3.ord_term(a eql_v3.int4_ord_ore) -RETURNS eql_v3.ore_block_256 -LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; +--! @brief Check if a selector path exists in encrypted JSONB. +--! @param val jsonb encrypted EQL payload. +--! @param selector text Selector hash to test. +--! @return boolean True if a matching element exists. +CREATE FUNCTION eql_v3.jsonb_path_exists(val jsonb, selector text) + RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT EXISTS ( + SELECT 1 FROM jsonb_array_elements(val -> 'sv') elem + WHERE elem ->> 's' = selector + ); +$$; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; +COMMENT ON FUNCTION eql_v3.jsonb_path_exists(jsonb, text) IS + 'eql-inline-critical: raw-jsonb path exists helper; must stay inlinable (unpinned search_path)'; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.int4_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; +--! @brief Get the first sv element matching `selector`, or NULL. +--! @param val jsonb encrypted EQL payload. +--! @param selector text Selector hash to match. +--! @return eql_v3.jsonb_entry First matching element or NULL. +CREATE FUNCTION eql_v3.jsonb_path_query_first(val jsonb, selector text) + RETURNS eql_v3.jsonb_entry + LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT (eql_v3.meta_data(val) || elem)::eql_v3.jsonb_entry + FROM jsonb_array_elements(val -> 'sv') elem + WHERE elem ->> 's' = selector + LIMIT 1 +$$; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) = eql_v3.ord_term(b) $$; +COMMENT ON FUNCTION eql_v3.jsonb_path_query_first(jsonb, text) IS + 'eql-inline-critical: raw-jsonb path first helper; must stay inlinable (unpinned search_path)'; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; +------------------------------------------------------------------------------ +-- Array functions +------------------------------------------------------------------------------ ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.int4_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; +--! @brief Get the length of an encrypted JSONB array. +--! @param val jsonb encrypted EQL payload (must have `a` flag true). +--! @return integer Number of elements. +--! @throws Exception 'cannot get array length of a non-array' if not an array. +CREATE FUNCTION eql_v3.jsonb_array_length(val jsonb) + RETURNS integer + IMMUTABLE STRICT PARALLEL SAFE + SET search_path = pg_catalog, extensions, public +AS $$ + DECLARE + sv jsonb[]; + BEGIN + IF eql_v3.is_ste_vec_array(val) THEN + sv := eql_v3.ste_vec(val); + RETURN array_length(sv, 1); + END IF; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) <> eql_v3.ord_term(b) $$; + RAISE 'cannot get array length of a non-array'; + END; +$$ LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; +--! @brief Extract elements of an encrypted JSONB array as rows. +--! @param val jsonb encrypted EQL payload (must have `a` flag true). +--! @return SETOF eql_v3.jsonb_entry One row per element (metadata preserved). +--! @throws Exception 'cannot extract elements from non-array' if not an array. +CREATE FUNCTION eql_v3.jsonb_array_elements(val jsonb) + RETURNS SETOF eql_v3.jsonb_entry + IMMUTABLE STRICT PARALLEL SAFE + SET search_path = pg_catalog, extensions, public +AS $$ + DECLARE + sv jsonb[]; + meta jsonb; + item jsonb; + BEGIN + IF NOT eql_v3.is_ste_vec_array(val) THEN + RAISE 'cannot extract elements from non-array'; + END IF; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.int4_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; + meta := eql_v3.meta_data(val); + sv := eql_v3.ste_vec(val); ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) < eql_v3.ord_term(b) $$; + FOR idx IN 1..array_length(sv, 1) LOOP + item = sv[idx]; + RETURN NEXT (meta || item)::eql_v3.jsonb_entry; + END LOOP; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; + RETURN; + END; +$$ LANGUAGE plpgsql; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.int4_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; +--! @brief Extract elements of an encrypted JSONB array as ciphertext text. +--! @param val jsonb encrypted EQL payload (must have `a` flag true). +--! @return SETOF text One ciphertext per element. +--! @throws Exception 'cannot extract elements from non-array' if not an array. +CREATE FUNCTION eql_v3.jsonb_array_elements_text(val jsonb) + RETURNS SETOF text + IMMUTABLE STRICT PARALLEL SAFE + SET search_path = pg_catalog, extensions, public +AS $$ + DECLARE + sv jsonb[]; + BEGIN + IF NOT eql_v3.is_ste_vec_array(val) THEN + RAISE 'cannot extract elements from non-array'; + END IF; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) <= eql_v3.ord_term(b) $$; + sv := eql_v3.ste_vec(val); ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; + FOR idx IN 1..array_length(sv, 1) LOOP + RETURN NEXT eql_v3.ciphertext(sv[idx]); + END LOOP; + + RETURN; + END; +$$ LANGUAGE plpgsql; +-- AUTOMATICALLY GENERATED FILE +-- Source is src/v3/version.template ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.int4_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; +DROP FUNCTION IF EXISTS eql_v3.version(); ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) > eql_v3.ord_term(b) $$; +--! @file v3/version.sql +--! @brief EQL version reporting (self-contained eql_v3 surface) +--! +--! This file is auto-generated from src/v3/version.template during build. +--! The DEV placeholder is replaced with the actual release +--! version (bare semver, e.g. "3.0.0") supplied via `mise run build --version`, +--! or "DEV" for development builds. ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; +--! @brief Get the installed EQL version string +--! +--! Returns the version string for the installed EQL library. This value is +--! baked in at build time from the release tag. +--! +--! @return text Version string (e.g. "3.0.0" or "DEV" for development builds) +--! +--! @note Auto-generated during build from src/v3/version.template +--! +--! @example +--! -- Check installed EQL version +--! SELECT eql_v3.version(); +--! -- Returns: '3.0.0' +CREATE FUNCTION eql_v3.version() + RETURNS text + IMMUTABLE STRICT PARALLEL SAFE +AS $$ + SELECT 'DEV'; +$$ LANGUAGE SQL; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.int4_ord_ore, b jsonb) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; +--! @brief Schema-level version marker for obj_description() discoverability +--! +--! Mirrors eql_v3.version() as a comment on the schema so the installed +--! version can also be read via obj_description('eql_v3'::regnamespace). +COMMENT ON SCHEMA eql_v3 IS 'DEV'; ---! @brief Operator wrapper for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int4_ord_ore) -RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE -AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) >= eql_v3.ord_term(b) $$; +--! @brief EQL lint: detect non-inlinable operator implementation functions +--! +--! Returns one row per violation found in the installed `eql_v3` surface. The +--! Postgres planner can only inline a function during index matching when: +--! +--! * `LANGUAGE sql` (plpgsql / C / etc. cannot be inlined) +--! * `IMMUTABLE` or `STABLE` volatility (VOLATILE cannot be inlined into +--! index expressions) +--! * No `SET` clauses (e.g. `SET search_path = ...`) +--! * Not `SECURITY DEFINER` +--! * Single-statement SELECT body +--! +--! @note The single-statement SELECT body condition is **not yet checked** by +--! this lint. A `LANGUAGE sql` function with a multi-statement body, a CTE, +--! or any pre-SELECT statement will pass all four implemented checks while +--! remaining non-inlinable. Implementing the check requires walking `prosrc` +--! (or `pg_get_functiondef`); tracked as a follow-up. +--! +--! Operators on `eql_v3` types (the jsonb-backed encrypted-domain families and +--! the SEM index-term types `eql_v3.ore_block_256`, `eql_v3.ore_cllw`) whose +--! implementation functions fail any of these rules silently fall back to seq +--! scan when the documented functional indexes (`eql_v3.eq_term(col)`, +--! `eql_v3.ord_term(col)`) are in place. This lint surfaces every such case. +--! +--! Severity: +--! `error` — fixable, blocks index matching, ship-blocking. +--! `warning` — likely-fixable, may not block matching but signals intent. +--! `info` — observational; useful for review, not a defect on its own. +--! +--! Categories: +--! `inlinability_language` — implementation function isn't `LANGUAGE sql`. +--! `inlinability_volatility` — implementation function is VOLATILE. +--! `inlinability_set_clause` — implementation function has a `SET` clause. +--! `inlinability_secdef` — implementation function is `SECURITY DEFINER`. +--! `inlinability_transitive` — implementation function is itself inlinable +--! but its body invokes a non-inlinable function +--! (depth 1; the planner can't peek through +--! that boundary). +--! `blocker_language` — encrypted-domain blocker is not LANGUAGE +--! plpgsql. The planner can inline / elide a +--! LANGUAGE sql body when the result is +--! provably unused, silently bypassing the +--! RAISE that the blocker exists to perform. +--! `blocker_strict` — encrypted-domain blocker is STRICT. +--! PostgreSQL skips the body and returns NULL +--! on NULL arguments, silently bypassing the +--! RAISE. +--! `domain_over_domain` — an `eql_v3` encrypted domain is derived from +--! another encrypted domain rather than jsonb. +--! Operators resolve against the ultimate base +--! type, so the derived domain does not +--! inherit the base domain's blocker surface. +--! `domain_opclass` — an operator class is declared FOR TYPE on an +--! `eql_v3` encrypted domain. Opclasses on +--! domains bypass operator resolution; use a +--! functional index on the extractor instead. +--! +--! @example +--! ``` +--! SELECT severity, category, object_name, message +--! FROM eql_v3.lints() +--! WHERE severity = 'error' +--! ORDER BY category, object_name; +--! ``` +--! +--! @return SETOF record (severity text, category text, object_name text, message text) +CREATE OR REPLACE FUNCTION eql_v3.lints() +RETURNS TABLE ( + severity text, + category text, + object_name text, + message text +) +LANGUAGE sql STABLE +AS $$ + WITH + -- All operators where at least one operand is an `eql_v3` type. Limits + -- the scope of the lint to the operator surface customers actually hit + -- via SQL (`col = val`, `col @> '...'` and friends). + eql_operators AS ( + SELECT + op.oid AS oprid, + op.oprname AS opname, + op.oprcode AS implfunc, + op.oprleft::regtype AS lhs, + op.oprright::regtype AS rhs, + op.oprcode::regprocedure AS impl_signature + FROM pg_operator op + WHERE EXISTS ( + SELECT 1 FROM pg_type t + WHERE t.oid IN (op.oprleft, op.oprright) + AND t.typnamespace = 'eql_v3'::regnamespace + ) + ), + + -- Cross-join with each operator's implementation function metadata. + -- One row per operator; columns describe the inlinability of the impl. + op_impl AS ( + SELECT + eo.opname, + eo.lhs, + eo.rhs, + eo.implfunc AS impl_oid, + eo.impl_signature::text AS impl_signature, + lang_l.lanname AS lang, + p.provolatile AS volatility, + p.proconfig AS config, + p.prosecdef AS secdef, + p.prosrc AS body + FROM eql_operators eo + JOIN pg_proc p ON p.oid = eo.implfunc + JOIN pg_language lang_l ON lang_l.oid = p.prolang + ), + + -- Encrypted-domain blockers: functions in `eql_v3` whose body contains + -- a blocker marker emitted by the codegen (any of the + -- `encrypted_domain_unsupported_*` helper calls — `_bool` for boolean + -- blockers, `_jsonb` for the native-jsonb-operator blockers; plus the + -- literal `is not supported for` for older path-operator blockers) AND + -- that take at least one `eql_v3` domain over jsonb argument. The argument + -- filter excludes the shared `encrypted_domain_unsupported_*(text, text)` + -- helpers themselves, which contain the marker in their body but are not + -- blockers (they take text arguments, not a domain). + encrypted_domain_blockers AS ( + SELECT + p.oid AS oid, + p.oid::regprocedure::text AS signature, + lang_l.lanname AS lang, + p.proisstrict AS isstrict + FROM pg_catalog.pg_proc p + JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace + JOIN pg_catalog.pg_language lang_l ON lang_l.oid = p.prolang + WHERE n.nspname = 'eql_v3' + AND (p.prosrc LIKE '%encrypted_domain_unsupported%' + OR p.prosrc LIKE '%is not supported for%') + AND EXISTS ( + SELECT 1 + FROM pg_catalog.unnest(p.proargtypes::oid[]) AS arg(typ) + JOIN pg_catalog.pg_type dt ON dt.oid = arg.typ + JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace + JOIN pg_catalog.pg_type bt ON bt.oid = dt.typbasetype + WHERE dt.typtype = 'd' + AND bt.typname = 'jsonb' + AND dn.nspname = 'eql_v3' + ) + ) ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; + -- ┌─────────────────────────────────────────────────────────────────┐ + -- │ Direct inlinability checks: each row examines one operator's │ + -- │ implementation function and emits a violation if any rule is │ + -- │ broken. Multiple violations on the same function become │ + -- │ multiple rows (developers see every reason it doesn't inline). │ + -- └─────────────────────────────────────────────────────────────────┘ + + SELECT + 'error' AS severity, + 'inlinability_language' AS category, + format('operator %s(%s, %s) -> %s', + opname, lhs, rhs, impl_signature) AS object_name, + format( + '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.', + lang, opname) AS message + FROM op_impl + WHERE lang <> 'sql' + AND NOT EXISTS ( + SELECT 1 FROM encrypted_domain_blockers b + WHERE b.oid = op_impl.impl_oid + ) ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.int4_ord_ore, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; + UNION ALL + + SELECT + 'error', + 'inlinability_volatility', + format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature), + format( + '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).', + opname) + FROM op_impl + WHERE volatility = 'v' + AND NOT EXISTS ( + SELECT 1 FROM encrypted_domain_blockers b + WHERE b.oid = op_impl.impl_oid + ) ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int4_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; + UNION ALL + + SELECT + 'error', + 'inlinability_set_clause', + format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature), + format( + '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.') + FROM op_impl + WHERE config IS NOT NULL + AND NOT EXISTS ( + SELECT 1 FROM encrypted_domain_blockers b + WHERE b.oid = op_impl.impl_oid + ) ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; + UNION ALL + + SELECT + 'error', + 'inlinability_secdef', + format('operator %s(%s, %s) -> %s', opname, lhs, rhs, impl_signature), + 'Operator implementation function is `SECURITY DEFINER`. Such functions cannot be inlined; remove `SECURITY DEFINER` or use a non-inlinable wrapper layer.' + FROM op_impl + WHERE secdef + AND NOT EXISTS ( + SELECT 1 FROM encrypted_domain_blockers b + WHERE b.oid = op_impl.impl_oid + ) ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.int4_ord_ore, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; + -- ┌─────────────────────────────────────────────────────────────────┐ + -- │ Transitive inlinability: an operator implementation function │ + -- │ that's itself inlinable can still fail to inline if its body │ + -- │ calls a non-inlinable function. Walk one level via pg_depend. │ + -- │ │ + -- │ Postgres records function-to-function dependencies in │ + -- │ pg_depend with deptype 'n' (normal) when one function references│ + -- │ another in its body — but only at CREATE time and only for │ + -- │ direct calls. This is good enough for v1; deeper transitive │ + -- │ analysis is a follow-up. │ + -- └─────────────────────────────────────────────────────────────────┘ + + UNION ALL + + SELECT + 'error', + 'inlinability_transitive', + format('operator %s(%s, %s) -> %s', oi.opname, oi.lhs, oi.rhs, + oi.impl_signature), + format( + '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.', + called.proname, + called_lang.lanname, + CASE called.provolatile + WHEN 'i' THEN 'IMMUTABLE' + WHEN 's' THEN 'STABLE' + WHEN 'v' THEN 'VOLATILE' + END, + CASE WHEN called.proconfig IS NOT NULL + THEN ', has SET clause' + ELSE '' END) + FROM op_impl oi + -- Only worth the transitive check if the outer function is otherwise + -- inlinable — otherwise the direct lints above already report it. + JOIN pg_proc outer_p ON outer_p.oid = oi.impl_signature::regprocedure + JOIN pg_depend d + ON d.classid = 'pg_proc'::regclass + AND d.objid = outer_p.oid + AND d.refclassid = 'pg_proc'::regclass + AND d.deptype = 'n' + JOIN pg_proc called ON called.oid = d.refobjid + JOIN pg_language called_lang ON called_lang.oid = called.prolang + WHERE oi.lang = 'sql' + AND oi.volatility IN ('i', 's') + AND oi.config IS NULL + AND NOT oi.secdef + AND called.oid <> outer_p.oid + AND ( + called_lang.lanname <> 'sql' + OR called.provolatile = 'v' + OR called.proconfig IS NOT NULL + OR called.prosecdef + ) ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param b eql_v3.int4_ord_ore ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int4_ord_ore) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; + -- ┌─────────────────────────────────────────────────────────────────┐ + -- │ Encrypted-domain footguns: blockers exist to RAISE, so they │ + -- │ have inverted inlinability requirements vs operator impls. │ + -- │ A LANGUAGE sql blocker can be elided by the planner; a STRICT │ + -- │ blocker returns NULL on NULL args. Both silently re-enable │ + -- │ operators the storage variant is supposed to block. │ + -- └─────────────────────────────────────────────────────────────────┘ + + UNION ALL + + SELECT + 'error', + 'blocker_language', + format('function %s', signature), + format( + '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.', + lang) + FROM encrypted_domain_blockers + WHERE lang <> 'plpgsql' + + UNION ALL + + SELECT + 'error', + 'blocker_strict', + format('function %s', signature), + 'Encrypted-domain blocker is `STRICT`. PostgreSQL skips the body and returns NULL on a NULL argument, silently bypassing the RAISE. Remove `STRICT`.' + FROM encrypted_domain_blockers + WHERE isstrict + + -- ┌─────────────────────────────────────────────────────────────────┐ + -- │ Domain identity: an encrypted-domain must be defined directly │ + -- │ over jsonb. Operators resolve against the ultimate base type, │ + -- │ so domain-over-domain inherits jsonb's operator surface and not │ + -- │ the base domain's blockers. │ + -- └─────────────────────────────────────────────────────────────────┘ + + UNION ALL + + SELECT + 'error', + 'domain_over_domain', + format('domain %I.%I', dn.nspname, dt.typname), + format( + '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.', + dn.nspname, dt.typname, bn.nspname, bt.typname) + FROM pg_catalog.pg_type dt + JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace + JOIN pg_catalog.pg_type bt ON bt.oid = dt.typbasetype + JOIN pg_catalog.pg_namespace bn ON bn.oid = bt.typnamespace + WHERE dt.typtype = 'd' + AND dn.nspname = 'eql_v3' + AND bt.typtype = 'd' + AND bn.nspname = 'eql_v3' + + -- ┌─────────────────────────────────────────────────────────────────┐ + -- │ Domain opclass: an operator class declared FOR TYPE on an │ + -- │ encrypted-domain bypasses operator resolution at index time. │ + -- │ Use a functional index on the extractor instead. │ + -- └─────────────────────────────────────────────────────────────────┘ + + UNION ALL + + SELECT + 'error', + 'domain_opclass', + format('opclass %I.%I FOR TYPE %s.%s', cn.nspname, oc.opcname, tn.nspname, t.typname), + format( + '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.', + cn.nspname, oc.opcname, tn.nspname, t.typname, tn.nspname, tn.nspname) + FROM pg_catalog.pg_opclass oc + JOIN pg_catalog.pg_type t ON t.oid = oc.opcintype + JOIN pg_catalog.pg_namespace tn ON tn.oid = t.typnamespace + JOIN pg_catalog.pg_namespace cn ON cn.oid = oc.opcnamespace + WHERE t.typtype = 'd' + AND tn.nspname = 'eql_v3' + + ORDER BY 1, 2, 3; +$$; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param selector text ---! @return eql_v3.int4_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.int4_ord_ore, selector text) -RETURNS eql_v3.int4_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; +COMMENT ON FUNCTION eql_v3.lints() IS + 'EQL lint: returns one row per non-inlinable operator implementation. ' + 'Run `SELECT * FROM eql_v3.lints() WHERE severity = ''error''` for a ' + 'CI-gateable check that all operator implementations on eql_v3 types are ' + 'eligible for planner inlining.'; +-- AUTOMATICALLY GENERATED FILE. ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param selector integer ---! @return eql_v3.int4_ord_ore -CREATE FUNCTION eql_v3."->"(a eql_v3.int4_ord_ore, selector integer) -RETURNS eql_v3.int4_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; +--! @file encrypted_domain/int4/int4_ord_aggregates.sql +--! @brief Aggregates for eql_v3.int4_ord. ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param selector eql_v3.int4_ord_ore ---! @return eql_v3.int4_ord_ore -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int4_ord_ore) -RETURNS eql_v3.int4_ord_ore IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; +--! @brief State function for min on eql_v3.int4_ord. +--! @param state eql_v3.int4_ord +--! @param value eql_v3.int4_ord +--! @return eql_v3.int4_ord +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.int4_ord, value eql_v3.int4_ord) +RETURNS eql_v3.int4_ord +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value < state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int4_ord_ore, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; +--! @brief min aggregate for eql_v3.int4_ord. +--! @param input eql_v3.int4_ord +--! @return eql_v3.int4_ord +CREATE AGGREGATE eql_v3.min(eql_v3.int4_ord) ( + sfunc = eql_v3.min_sfunc, + stype = eql_v3.int4_ord, + combinefunc = eql_v3.min_sfunc, + parallel = safe +); ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.int4_ord_ore, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; +--! @brief State function for max on eql_v3.int4_ord. +--! @param state eql_v3.int4_ord +--! @param value eql_v3.int4_ord +--! @return eql_v3.int4_ord +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.int4_ord, value eql_v3.int4_ord) +RETURNS eql_v3.int4_ord +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value > state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a jsonb ---! @param selector eql_v3.int4_ord_ore ---! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int4_ord_ore) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; +--! @brief max aggregate for eql_v3.int4_ord. +--! @param input eql_v3.int4_ord +--! @return eql_v3.int4_ord +CREATE AGGREGATE eql_v3.max(eql_v3.int4_ord) ( + sfunc = eql_v3.max_sfunc, + stype = eql_v3.int4_ord, + combinefunc = eql_v3.max_sfunc, + parallel = safe +); +-- AUTOMATICALLY GENERATED FILE. ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b text ---! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.int4_ord_ore, b text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; +--! @file encrypted_domain/int4/int4_functions.sql +--! @brief Functions for eql_v3.int4. ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b text[] +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b eql_v3.int4 --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.int4_ord_ore, b text[]) +CREATE FUNCTION eql_v3.eq(a eql_v3.int4, b eql_v3.int4) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int4_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b text[] +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.int4_ord_ore, b text[]) +CREATE FUNCTION eql_v3.eq(a eql_v3.int4, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int4_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonpath +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param b eql_v3.int4 --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.int4_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int4) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int4_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b jsonpath +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b eql_v3.int4 --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.int4_ord_ore, b jsonpath) +CREATE FUNCTION eql_v3.neq(a eql_v3.int4, b eql_v3.int4) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int4_ord_ore'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.int4_ord_ore, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int4_ord_ore'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b text[] ---! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.int4_ord_ore, b text[]) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int4_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.int4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b text ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int4_ord_ore, b text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b integer ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int4_ord_ore, b integer) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.int4, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.int4_ord_ore, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.int4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.int4_ord_ore, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int4_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore ---! @param b eql_v3.int4_ord_ore ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4_ord_ore'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.int4, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. ---! @param a eql_v3.int4_ord_ore +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 --! @param b jsonb ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.int4_ord_ore, b jsonb) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4_ord_ore'; END; $$ +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.int4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.int4. --! @param a jsonb ---! @param b eql_v3.int4_ord_ore ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int4_ord_ore) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4_ord_ore'; END; $$ +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.int4'; END; $$ LANGUAGE plpgsql; --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/int4/int4_ord_ore_operators.sql ---! @brief Operators for eql_v3.int4_ord_ore. - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel -); - -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.int4, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.int4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.int4, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.int4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.int4, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.int4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int4, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param b eql_v3.int4 +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param selector text +--! @return eql_v3.int4 +CREATE FUNCTION eql_v3."->"(a eql_v3.int4, selector text) +RETURNS eql_v3.int4 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param selector integer +--! @return eql_v3.int4 +CREATE FUNCTION eql_v3."->"(a eql_v3.int4, selector integer) +RETURNS eql_v3.int4 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param selector eql_v3.int4 +--! @return eql_v3.int4 +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int4) +RETURNS eql_v3.int4 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param selector text +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.int4, selector text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.int4, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param selector eql_v3.int4 +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int4) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b text +--! @return boolean +CREATE FUNCTION eql_v3."?"(a eql_v3.int4, b text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?|"(a eql_v3.int4, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?&"(a eql_v3.int4, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@?"(a eql_v3.int4, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@@"(a eql_v3.int4, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#>"(a eql_v3.int4, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b text[] +--! @return text +CREATE FUNCTION eql_v3."#>>"(a eql_v3.int4, b text[]) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b text +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.int4, b text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b integer +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.int4, b integer) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.int4, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#-"(a eql_v3.int4, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b eql_v3.int4 +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.int4, b eql_v3.int4) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a eql_v3.int4 +--! @param b jsonb +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.int4, b jsonb) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.int4. +--! @param a jsonb +--! @param b eql_v3.int4 +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int4) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4'; END; $$ +LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/int4/int4_operators.sql ---! @brief Operators for eql_v3.int4. +--! @file encrypted_domain/int4/int4_eq_operators.sql +--! @brief Operators for eql_v3.int4_eq. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 + LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int4, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 + LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int4, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 + LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int4, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 + LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int4, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 + LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int4, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 + LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int4, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 + LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int4, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 + LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int4, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int4, RIGHTARG = text + LEFTARG = eql_v3.int4_eq, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int4, RIGHTARG = integer + LEFTARG = eql_v3.int4_eq, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int4, RIGHTARG = text + LEFTARG = eql_v3.int4_eq, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int4, RIGHTARG = integer + LEFTARG = eql_v3.int4_eq, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.int4, RIGHTARG = text + LEFTARG = eql_v3.int4_eq, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.int4, RIGHTARG = text[] + LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.int4, RIGHTARG = text[] + LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.int4, RIGHTARG = jsonpath + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.int4, RIGHTARG = jsonpath + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.int4, RIGHTARG = text[] + LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] ); CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.int4, RIGHTARG = text[] -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int4, RIGHTARG = text -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int4, RIGHTARG = integer -); - -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int4, RIGHTARG = text[] -); - -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.int4, RIGHTARG = text[] -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int4, RIGHTARG = jsonb -); - -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.int4 -); --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/int4/int4_ord_ore_aggregates.sql ---! @brief Aggregates for eql_v3.int4_ord_ore. - ---! @brief State function for min on eql_v3.int4_ord_ore. ---! @param state eql_v3.int4_ord_ore ---! @param value eql_v3.int4_ord_ore ---! @return eql_v3.int4_ord_ore -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.int4_ord_ore, value eql_v3.int4_ord_ore) -RETURNS eql_v3.int4_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value < state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; - ---! @brief min aggregate for eql_v3.int4_ord_ore. ---! @param input eql_v3.int4_ord_ore ---! @return eql_v3.int4_ord_ore -CREATE AGGREGATE eql_v3.min(eql_v3.int4_ord_ore) ( - sfunc = eql_v3.min_sfunc, - stype = eql_v3.int4_ord_ore, - combinefunc = eql_v3.min_sfunc, - parallel = safe + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] ); ---! @brief State function for max on eql_v3.int4_ord_ore. ---! @param state eql_v3.int4_ord_ore ---! @param value eql_v3.int4_ord_ore ---! @return eql_v3.int4_ord_ore -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.int4_ord_ore, value eql_v3.int4_ord_ore) -RETURNS eql_v3.int4_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value > state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int4_eq, RIGHTARG = text +); ---! @brief max aggregate for eql_v3.int4_ord_ore. ---! @param input eql_v3.int4_ord_ore ---! @return eql_v3.int4_ord_ore -CREATE AGGREGATE eql_v3.max(eql_v3.int4_ord_ore) ( - sfunc = eql_v3.max_sfunc, - stype = eql_v3.int4_ord_ore, - combinefunc = eql_v3.max_sfunc, - parallel = safe +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int4_eq, RIGHTARG = integer ); --- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/timestamptz/timestamptz_ord_ore_aggregates.sql ---! @brief Aggregates for eql_v3.timestamptz_ord_ore. +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] +); ---! @brief State function for min on eql_v3.timestamptz_ord_ore. ---! @param state eql_v3.timestamptz_ord_ore ---! @param value eql_v3.timestamptz_ord_ore ---! @return eql_v3.timestamptz_ord_ore -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.timestamptz_ord_ore, value eql_v3.timestamptz_ord_ore) -RETURNS eql_v3.timestamptz_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value < state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.int4_eq, RIGHTARG = text[] +); ---! @brief min aggregate for eql_v3.timestamptz_ord_ore. ---! @param input eql_v3.timestamptz_ord_ore ---! @return eql_v3.timestamptz_ord_ore -CREATE AGGREGATE eql_v3.min(eql_v3.timestamptz_ord_ore) ( - sfunc = eql_v3.min_sfunc, - stype = eql_v3.timestamptz_ord_ore, - combinefunc = eql_v3.min_sfunc, - parallel = safe +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.int4_eq, RIGHTARG = eql_v3.int4_eq ); ---! @brief State function for max on eql_v3.timestamptz_ord_ore. ---! @param state eql_v3.timestamptz_ord_ore ---! @param value eql_v3.timestamptz_ord_ore ---! @return eql_v3.timestamptz_ord_ore -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.timestamptz_ord_ore, value eql_v3.timestamptz_ord_ore) -RETURNS eql_v3.timestamptz_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value > state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.int4_eq, RIGHTARG = jsonb +); ---! @brief max aggregate for eql_v3.timestamptz_ord_ore. ---! @param input eql_v3.timestamptz_ord_ore ---! @return eql_v3.timestamptz_ord_ore -CREATE AGGREGATE eql_v3.max(eql_v3.timestamptz_ord_ore) ( - sfunc = eql_v3.max_sfunc, - stype = eql_v3.timestamptz_ord_ore, - combinefunc = eql_v3.max_sfunc, - parallel = safe +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_eq ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/timestamptz/timestamptz_functions.sql ---! @brief Functions for eql_v3.timestamptz. +--! @file encrypted_domain/int4/int4_ord_ore_functions.sql +--! @brief Functions for eql_v3.int4_ord_ore. + +--! @brief Index extractor for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @return eql_v3.ore_block_256 +CREATE FUNCTION eql_v3.ord_term(a eql_v3.int4_ord_ore) +RETURNS eql_v3.ore_block_256 +LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ore_block_256(a::jsonb) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz ---! @param b eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.timestamptz, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.timestamptz, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a eql_v3.int4_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) = eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Operator wrapper for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) = eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz ---! @param b eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.timestamptz, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.timestamptz, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a eql_v3.int4_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <> eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Operator wrapper for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) <> eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz ---! @param b eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.timestamptz, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.timestamptz, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a eql_v3.int4_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) < eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Operator wrapper for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) < eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz ---! @param b eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.timestamptz, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.timestamptz, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a eql_v3.int4_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) <= eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Operator wrapper for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) <= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz ---! @param b eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.timestamptz, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.timestamptz, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a eql_v3.int4_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) > eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Operator wrapper for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) > eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz ---! @param b eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.timestamptz, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Operator wrapper for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.timestamptz, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a eql_v3.int4_ord_ore, b jsonb) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a) >= eql_v3.ord_term(b::eql_v3.int4_ord_ore) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Operator wrapper for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.timestamptz) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamptz'; END; $$ -LANGUAGE plpgsql; +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.int4_ord_ore) +RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE +AS $$ SELECT eql_v3.ord_term(a::eql_v3.int4_ord_ore) >= eql_v3.ord_term(b) $$; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz ---! @param b eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.timestamptz, b eql_v3.timestamptz) +CREATE FUNCTION eql_v3.contains(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.timestamptz, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.int4_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.timestamptz) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.int4_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz ---! @param b eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamptz, b eql_v3.timestamptz) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamptz, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.int4_ord_ore, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz +--! @param b eql_v3.int4_ord_ore --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.timestamptz) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.int4_ord_ore) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param selector text ---! @return eql_v3.timestamptz -CREATE FUNCTION eql_v3."->"(a eql_v3.timestamptz, selector text) -RETURNS eql_v3.timestamptz IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz'; END; $$ +--! @return eql_v3.int4_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.int4_ord_ore, selector text) +RETURNS eql_v3.int4_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param selector integer ---! @return eql_v3.timestamptz -CREATE FUNCTION eql_v3."->"(a eql_v3.timestamptz, selector integer) -RETURNS eql_v3.timestamptz IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz'; END; $$ +--! @return eql_v3.int4_ord_ore +CREATE FUNCTION eql_v3."->"(a eql_v3.int4_ord_ore, selector integer) +RETURNS eql_v3.int4_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param selector eql_v3.timestamptz ---! @return eql_v3.timestamptz -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.timestamptz) -RETURNS eql_v3.timestamptz IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamptz'; END; $$ +--! @param selector eql_v3.int4_ord_ore +--! @return eql_v3.int4_ord_ore +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.int4_ord_ore) +RETURNS eql_v3.int4_ord_ore IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param selector text --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamptz, selector text) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int4_ord_ore, selector text) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param selector integer --! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamptz, selector integer) +CREATE FUNCTION eql_v3."->>"(a eql_v3.int4_ord_ore, selector integer) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param selector eql_v3.timestamptz +--! @param selector eql_v3.int4_ord_ore --! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.timestamptz) +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.int4_ord_ore) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b text --! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.timestamptz, b text) +CREATE FUNCTION eql_v3."?"(a eql_v3.int4_ord_ore, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.timestamptz, b text[]) +CREATE FUNCTION eql_v3."?|"(a eql_v3.int4_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.timestamptz, b text[]) +CREATE FUNCTION eql_v3."?&"(a eql_v3.int4_ord_ore, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.timestamptz, b jsonpath) +CREATE FUNCTION eql_v3."@?"(a eql_v3.int4_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.timestamptz, b jsonpath) +CREATE FUNCTION eql_v3."@@"(a eql_v3.int4_ord_ore, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.timestamptz, b text[]) +CREATE FUNCTION eql_v3."#>"(a eql_v3.int4_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b text[] --! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.timestamptz, b text[]) +CREATE FUNCTION eql_v3."#>>"(a eql_v3.int4_ord_ore, b text[]) RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b text --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz, b text) +CREATE FUNCTION eql_v3."-"(a eql_v3.int4_ord_ore, b text) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b integer --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz, b integer) +CREATE FUNCTION eql_v3."-"(a eql_v3.int4_ord_ore, b integer) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.timestamptz, b text[]) +CREATE FUNCTION eql_v3."-"(a eql_v3.int4_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b text[] --! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.timestamptz, b text[]) +CREATE FUNCTION eql_v3."#-"(a eql_v3.int4_ord_ore, b text[]) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz ---! @param b eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore +--! @param b eql_v3.int4_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.timestamptz, b eql_v3.timestamptz) +CREATE FUNCTION eql_v3."||"(a eql_v3.int4_ord_ore, b eql_v3.int4_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. ---! @param a eql_v3.timestamptz +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. +--! @param a eql_v3.int4_ord_ore --! @param b jsonb --! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.timestamptz, b jsonb) +CREATE FUNCTION eql_v3."||"(a eql_v3.int4_ord_ore, b jsonb) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.timestamptz. +--! @brief Unsupported operator blocker for eql_v3.int4_ord_ore. --! @param a jsonb ---! @param b eql_v3.timestamptz +--! @param b eql_v3.int4_ord_ore --! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.timestamptz) +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int4_ord_ore) RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamptz'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int4_ord_ore'; END; $$ LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/timestamptz/timestamptz_eq_operators.sql ---! @brief Operators for eql_v3.timestamptz_eq. +--! @file encrypted_domain/int4/int4_ord_ore_operators.sql +--! @brief Operators for eql_v3.int4_ord_ore. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = eql_v3.timestamptz_eq, + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonb, + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = eql_v3.timestamptz_eq, + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonb, + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = integer + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = integer + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text[] + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text[] + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonpath + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonpath + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text[] + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text[] + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = integer + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text[] + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = text[] + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = eql_v3.timestamptz_eq + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = eql_v3.int4_ord_ore ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.timestamptz_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.int4_ord_ore, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz_eq -); --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/timestamptz/timestamptz_ord_aggregates.sql ---! @brief Aggregates for eql_v3.timestamptz_ord. - ---! @brief State function for min on eql_v3.timestamptz_ord. ---! @param state eql_v3.timestamptz_ord ---! @param value eql_v3.timestamptz_ord ---! @return eql_v3.timestamptz_ord -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.timestamptz_ord, value eql_v3.timestamptz_ord) -RETURNS eql_v3.timestamptz_ord -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value < state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; - ---! @brief min aggregate for eql_v3.timestamptz_ord. ---! @param input eql_v3.timestamptz_ord ---! @return eql_v3.timestamptz_ord -CREATE AGGREGATE eql_v3.min(eql_v3.timestamptz_ord) ( - sfunc = eql_v3.min_sfunc, - stype = eql_v3.timestamptz_ord, - combinefunc = eql_v3.min_sfunc, - parallel = safe -); - ---! @brief State function for max on eql_v3.timestamptz_ord. ---! @param state eql_v3.timestamptz_ord ---! @param value eql_v3.timestamptz_ord ---! @return eql_v3.timestamptz_ord -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.timestamptz_ord, value eql_v3.timestamptz_ord) -RETURNS eql_v3.timestamptz_ord -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value > state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; - ---! @brief max aggregate for eql_v3.timestamptz_ord. ---! @param input eql_v3.timestamptz_ord ---! @return eql_v3.timestamptz_ord -CREATE AGGREGATE eql_v3.max(eql_v3.timestamptz_ord) ( - sfunc = eql_v3.max_sfunc, - stype = eql_v3.timestamptz_ord, - combinefunc = eql_v3.max_sfunc, - parallel = safe + LEFTARG = jsonb, RIGHTARG = eql_v3.int4_ord_ore ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/timestamptz/timestamptz_operators.sql ---! @brief Operators for eql_v3.timestamptz. +--! @file encrypted_domain/int4/int4_operators.sql +--! @brief Operators for eql_v3.int4. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.timestamptz, RIGHTARG = eql_v3.timestamptz + LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonb + LEFTARG = eql_v3.int4, RIGHTARG = jsonb ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.timestamptz, RIGHTARG = eql_v3.timestamptz + LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonb + LEFTARG = eql_v3.int4, RIGHTARG = jsonb ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.timestamptz, RIGHTARG = eql_v3.timestamptz + LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonb + LEFTARG = eql_v3.int4, RIGHTARG = jsonb ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.timestamptz, RIGHTARG = eql_v3.timestamptz + LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonb + LEFTARG = eql_v3.int4, RIGHTARG = jsonb ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.timestamptz, RIGHTARG = eql_v3.timestamptz + LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonb + LEFTARG = eql_v3.int4, RIGHTARG = jsonb ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.timestamptz, RIGHTARG = eql_v3.timestamptz + LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonb + LEFTARG = eql_v3.int4, RIGHTARG = jsonb ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.timestamptz, RIGHTARG = eql_v3.timestamptz + LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonb + LEFTARG = eql_v3.int4, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.timestamptz, RIGHTARG = eql_v3.timestamptz + LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonb + LEFTARG = eql_v3.int4, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text + LEFTARG = eql_v3.int4, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.timestamptz, RIGHTARG = integer + LEFTARG = eql_v3.int4, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text + LEFTARG = eql_v3.int4, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.timestamptz, RIGHTARG = integer + LEFTARG = eql_v3.int4, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text + LEFTARG = eql_v3.int4, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text[] + LEFTARG = eql_v3.int4, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text[] + LEFTARG = eql_v3.int4, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonpath + LEFTARG = eql_v3.int4, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonpath + LEFTARG = eql_v3.int4, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text[] + LEFTARG = eql_v3.int4, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text[] + LEFTARG = eql_v3.int4, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text + LEFTARG = eql_v3.int4, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz, RIGHTARG = integer + LEFTARG = eql_v3.int4, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text[] + LEFTARG = eql_v3.int4, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.timestamptz, RIGHTARG = text[] + LEFTARG = eql_v3.int4, RIGHTARG = text[] +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.int4, RIGHTARG = eql_v3.int4 ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.timestamptz, RIGHTARG = eql_v3.timestamptz + LEFTARG = eql_v3.int4, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.timestamptz, RIGHTARG = jsonb + LEFTARG = jsonb, RIGHTARG = eql_v3.int4 +); +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/int4/int4_ord_ore_aggregates.sql +--! @brief Aggregates for eql_v3.int4_ord_ore. + +--! @brief State function for min on eql_v3.int4_ord_ore. +--! @param state eql_v3.int4_ord_ore +--! @param value eql_v3.int4_ord_ore +--! @return eql_v3.int4_ord_ore +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.int4_ord_ore, value eql_v3.int4_ord_ore) +RETURNS eql_v3.int4_ord_ore +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value < state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief min aggregate for eql_v3.int4_ord_ore. +--! @param input eql_v3.int4_ord_ore +--! @return eql_v3.int4_ord_ore +CREATE AGGREGATE eql_v3.min(eql_v3.int4_ord_ore) ( + sfunc = eql_v3.min_sfunc, + stype = eql_v3.int4_ord_ore, + combinefunc = eql_v3.min_sfunc, + parallel = safe ); -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.timestamptz +--! @brief State function for max on eql_v3.int4_ord_ore. +--! @param state eql_v3.int4_ord_ore +--! @param value eql_v3.int4_ord_ore +--! @return eql_v3.int4_ord_ore +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.int4_ord_ore, value eql_v3.int4_ord_ore) +RETURNS eql_v3.int4_ord_ore +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value > state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief max aggregate for eql_v3.int4_ord_ore. +--! @param input eql_v3.int4_ord_ore +--! @return eql_v3.int4_ord_ore +CREATE AGGREGATE eql_v3.max(eql_v3.int4_ord_ore) ( + sfunc = eql_v3.max_sfunc, + stype = eql_v3.int4_ord_ore, + combinefunc = eql_v3.max_sfunc, + parallel = safe ); -- AUTOMATICALLY GENERATED FILE. @@ -24767,2021 +24161,2591 @@ RETURNS jsonb IMMUTABLE PARALLEL SAFE AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8_ord_ore'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.int8_ord_ore. ---! @param a jsonb ---! @param b eql_v3.int8_ord_ore ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int8_ord_ore) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8_ord_ore'; END; $$ -LANGUAGE plpgsql; +--! @brief Unsupported operator blocker for eql_v3.int8_ord_ore. +--! @param a jsonb +--! @param b eql_v3.int8_ord_ore +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.int8_ord_ore) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.int8_ord_ore'; END; $$ +LANGUAGE plpgsql; +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/int8/int8_ord_operators.sql +--! @brief Operators for eql_v3.int8_ord. + +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.int8_ord, RIGHTARG = integer +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.int8_ord, RIGHTARG = integer +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord +); + +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text +); + +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] +); + +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] +); + +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonpath +); + +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonpath +); + +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] +); + +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int8_ord, RIGHTARG = integer +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] +); + +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord +); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/int8/int8_ord_operators.sql ---! @brief Operators for eql_v3.int8_ord. +--! @file encrypted_domain/int8/int8_ord_ore_operators.sql +--! @brief Operators for eql_v3.int8_ord_ore. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb, + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int8_ord, RIGHTARG = integer + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int8_ord, RIGHTARG = integer + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonpath + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonpath + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int8_ord, RIGHTARG = integer + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.int8_ord, RIGHTARG = text[] + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int8_ord, RIGHTARG = eql_v3.int8_ord + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int8_ord, RIGHTARG = jsonb + LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/int8/int8_ord_ore_operators.sql ---! @brief Operators for eql_v3.int8_ord_ore. +--! @file encrypted_domain/int8/int8_ord_ore_aggregates.sql +--! @brief Aggregates for eql_v3.int8_ord_ore. + +--! @brief State function for min on eql_v3.int8_ord_ore. +--! @param state eql_v3.int8_ord_ore +--! @param value eql_v3.int8_ord_ore +--! @return eql_v3.int8_ord_ore +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.int8_ord_ore, value eql_v3.int8_ord_ore) +RETURNS eql_v3.int8_ord_ore +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value < state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief min aggregate for eql_v3.int8_ord_ore. +--! @param input eql_v3.int8_ord_ore +--! @return eql_v3.int8_ord_ore +CREATE AGGREGATE eql_v3.min(eql_v3.int8_ord_ore) ( + sfunc = eql_v3.min_sfunc, + stype = eql_v3.int8_ord_ore, + combinefunc = eql_v3.min_sfunc, + parallel = safe +); + +--! @brief State function for max on eql_v3.int8_ord_ore. +--! @param state eql_v3.int8_ord_ore +--! @param value eql_v3.int8_ord_ore +--! @return eql_v3.int8_ord_ore +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.int8_ord_ore, value eql_v3.int8_ord_ore) +RETURNS eql_v3.int8_ord_ore +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value > state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief max aggregate for eql_v3.int8_ord_ore. +--! @param input eql_v3.int8_ord_ore +--! @return eql_v3.int8_ord_ore +CREATE AGGREGATE eql_v3.max(eql_v3.int8_ord_ore) ( + sfunc = eql_v3.max_sfunc, + stype = eql_v3.int8_ord_ore, + combinefunc = eql_v3.max_sfunc, + parallel = safe +); +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/int8/int8_ord_aggregates.sql +--! @brief Aggregates for eql_v3.int8_ord. + +--! @brief State function for min on eql_v3.int8_ord. +--! @param state eql_v3.int8_ord +--! @param value eql_v3.int8_ord +--! @return eql_v3.int8_ord +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.int8_ord, value eql_v3.int8_ord) +RETURNS eql_v3.int8_ord +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value < state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief min aggregate for eql_v3.int8_ord. +--! @param input eql_v3.int8_ord +--! @return eql_v3.int8_ord +CREATE AGGREGATE eql_v3.min(eql_v3.int8_ord) ( + sfunc = eql_v3.min_sfunc, + stype = eql_v3.int8_ord, + combinefunc = eql_v3.min_sfunc, + parallel = safe +); + +--! @brief State function for max on eql_v3.int8_ord. +--! @param state eql_v3.int8_ord +--! @param value eql_v3.int8_ord +--! @return eql_v3.int8_ord +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.int8_ord, value eql_v3.int8_ord) +RETURNS eql_v3.int8_ord +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value > state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief max aggregate for eql_v3.int8_ord. +--! @param input eql_v3.int8_ord +--! @return eql_v3.int8_ord +CREATE AGGREGATE eql_v3.max(eql_v3.int8_ord) ( + sfunc = eql_v3.max_sfunc, + stype = eql_v3.int8_ord, + combinefunc = eql_v3.max_sfunc, + parallel = safe +); +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/int8/int8_eq_operators.sql +--! @brief Operators for eql_v3.int8_eq. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, + LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, + LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel + LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb ); CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel + LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel + LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel + LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore + LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore + LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text + LEFTARG = eql_v3.int8_eq, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = integer + LEFTARG = eql_v3.int8_eq, RIGHTARG = integer +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.int8_eq, RIGHTARG = text +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.int8_eq, RIGHTARG = integer +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq +); + +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.int8_eq, RIGHTARG = text +); + +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] +); + +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] +); + +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonpath +); + +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonpath +); + +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] +); + +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int8_eq, RIGHTARG = text +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int8_eq, RIGHTARG = integer +); + +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] +); + +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq ); +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/text/text_functions.sql +--! @brief Functions for eql_v3.text. + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.text, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.text, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.text, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.text, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.text, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.text, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.text, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.text, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.text, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.text, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.text, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.text, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.text, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.text, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.text, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param b eql_v3.text +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param selector text +--! @return eql_v3.text +CREATE FUNCTION eql_v3."->"(a eql_v3.text, selector text) +RETURNS eql_v3.text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param selector integer +--! @return eql_v3.text +CREATE FUNCTION eql_v3."->"(a eql_v3.text, selector integer) +RETURNS eql_v3.text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param selector eql_v3.text +--! @return eql_v3.text +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text) +RETURNS eql_v3.text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param selector text +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.text, selector text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = eql_v3.int8_ord_ore -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.text, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int8_ord_ore, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param selector eql_v3.text +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_ord_ore -); --- AUTOMATICALLY GENERATED FILE. +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b text +--! @return boolean +CREATE FUNCTION eql_v3."?"(a eql_v3.text, b text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @file encrypted_domain/int8/int8_ord_ore_aggregates.sql ---! @brief Aggregates for eql_v3.int8_ord_ore. +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?|"(a eql_v3.text, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @brief State function for min on eql_v3.int8_ord_ore. ---! @param state eql_v3.int8_ord_ore ---! @param value eql_v3.int8_ord_ore ---! @return eql_v3.int8_ord_ore -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.int8_ord_ore, value eql_v3.int8_ord_ore) -RETURNS eql_v3.int8_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value < state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?&"(a eql_v3.text, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@?"(a eql_v3.text, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @brief min aggregate for eql_v3.int8_ord_ore. ---! @param input eql_v3.int8_ord_ore ---! @return eql_v3.int8_ord_ore -CREATE AGGREGATE eql_v3.min(eql_v3.int8_ord_ore) ( - sfunc = eql_v3.min_sfunc, - stype = eql_v3.int8_ord_ore, - combinefunc = eql_v3.min_sfunc, - parallel = safe -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@@"(a eql_v3.text, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @brief State function for max on eql_v3.int8_ord_ore. ---! @param state eql_v3.int8_ord_ore ---! @param value eql_v3.int8_ord_ore ---! @return eql_v3.int8_ord_ore -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.int8_ord_ore, value eql_v3.int8_ord_ore) -RETURNS eql_v3.int8_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value > state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#>"(a eql_v3.text, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @brief max aggregate for eql_v3.int8_ord_ore. ---! @param input eql_v3.int8_ord_ore ---! @return eql_v3.int8_ord_ore -CREATE AGGREGATE eql_v3.max(eql_v3.int8_ord_ore) ( - sfunc = eql_v3.max_sfunc, - stype = eql_v3.int8_ord_ore, - combinefunc = eql_v3.max_sfunc, - parallel = safe -); --- AUTOMATICALLY GENERATED FILE. +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b text[] +--! @return text +CREATE FUNCTION eql_v3."#>>"(a eql_v3.text, b text[]) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @file encrypted_domain/int8/int8_ord_aggregates.sql ---! @brief Aggregates for eql_v3.int8_ord. +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b text +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.text, b text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @brief State function for min on eql_v3.int8_ord. ---! @param state eql_v3.int8_ord ---! @param value eql_v3.int8_ord ---! @return eql_v3.int8_ord -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.int8_ord, value eql_v3.int8_ord) -RETURNS eql_v3.int8_ord -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value < state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b integer +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.text, b integer) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @brief min aggregate for eql_v3.int8_ord. ---! @param input eql_v3.int8_ord ---! @return eql_v3.int8_ord -CREATE AGGREGATE eql_v3.min(eql_v3.int8_ord) ( - sfunc = eql_v3.min_sfunc, - stype = eql_v3.int8_ord, - combinefunc = eql_v3.min_sfunc, - parallel = safe -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.text, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @brief State function for max on eql_v3.int8_ord. ---! @param state eql_v3.int8_ord ---! @param value eql_v3.int8_ord ---! @return eql_v3.int8_ord -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.int8_ord, value eql_v3.int8_ord) -RETURNS eql_v3.int8_ord -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value > state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#-"(a eql_v3.text, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; ---! @brief max aggregate for eql_v3.int8_ord. ---! @param input eql_v3.int8_ord ---! @return eql_v3.int8_ord -CREATE AGGREGATE eql_v3.max(eql_v3.int8_ord) ( - sfunc = eql_v3.max_sfunc, - stype = eql_v3.int8_ord, - combinefunc = eql_v3.max_sfunc, - parallel = safe -); +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b eql_v3.text +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.text, b eql_v3.text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a eql_v3.text +--! @param b jsonb +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.text, b jsonb) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.text. +--! @param a jsonb +--! @param b eql_v3.text +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text'; END; $$ +LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/int8/int8_eq_operators.sql ---! @brief Operators for eql_v3.int8_eq. +--! @file encrypted_domain/text/text_match_operators.sql +--! @brief Operators for eql_v3.text_match. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel + LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel + LEFTARG = eql_v3.text_match, RIGHTARG = jsonb ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel + LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel + LEFTARG = eql_v3.text_match, RIGHTARG = jsonb ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq + LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.text_match, RIGHTARG = jsonb ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq + LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.text_match, RIGHTARG = jsonb ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq + LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.text_match, RIGHTARG = jsonb ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq + LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.text_match, RIGHTARG = jsonb ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq + LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match, + COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.text_match, RIGHTARG = jsonb, + COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match, + COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq + LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match, + COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.text_match, RIGHTARG = jsonb, + COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match, + COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text + LEFTARG = eql_v3.text_match, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.int8_eq, RIGHTARG = integer + LEFTARG = eql_v3.text_match, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text + LEFTARG = eql_v3.text_match, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.int8_eq, RIGHTARG = integer + LEFTARG = eql_v3.text_match, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text + LEFTARG = eql_v3.text_match, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] + LEFTARG = eql_v3.text_match, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] + LEFTARG = eql_v3.text_match, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonpath + LEFTARG = eql_v3.text_match, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonpath + LEFTARG = eql_v3.text_match, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] + LEFTARG = eql_v3.text_match, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] + LEFTARG = eql_v3.text_match, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text + LEFTARG = eql_v3.text_match, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int8_eq, RIGHTARG = integer + LEFTARG = eql_v3.text_match, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] + LEFTARG = eql_v3.text_match, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.int8_eq, RIGHTARG = text[] + LEFTARG = eql_v3.text_match, RIGHTARG = text[] ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int8_eq, RIGHTARG = eql_v3.int8_eq + LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.int8_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.text_match, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.int8_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.text_match ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_functions.sql ---! @brief Functions for eql_v3.text. - ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.text, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; - ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +--! @file encrypted_domain/text/text_search_operators.sql +--! @brief Operators for eql_v3.text_search. ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.text, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.text, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.text, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, + COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.text, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, + COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.text, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, + COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.text, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, + COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, + COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonb ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.text, b jsonb) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, + COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param b eql_v3.text ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, + COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param selector text ---! @return eql_v3.text -CREATE FUNCTION eql_v3."->"(a eql_v3.text, selector text) -RETURNS eql_v3.text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, + COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param selector integer ---! @return eql_v3.text -CREATE FUNCTION eql_v3."->"(a eql_v3.text, selector integer) -RETURNS eql_v3.text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, + COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param selector eql_v3.text ---! @return eql_v3.text -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.text) -RETURNS eql_v3.text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, + COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.text_search, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.text, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.text_search, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param selector eql_v3.text ---! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b text ---! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.text, b text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.text_search, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.text, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.text_search, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.text, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.text, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.text_search, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.text, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.text_search, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.text, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.text_search, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b text[] ---! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.text, b text[]) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.text_search, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b text ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text, b text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.text_search, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b integer ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text, b integer) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.text_search, RIGHTARG = text[] +); + +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.text_search, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.text, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.text_search, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.text, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.text_search, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b eql_v3.text ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text, b eql_v3.text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.text_search, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a eql_v3.text ---! @param b jsonb ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.text, b jsonb) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.text_search, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.text. ---! @param a jsonb ---! @param b eql_v3.text ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.text'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.text_search, RIGHTARG = jsonb +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.text_search +); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_match_operators.sql ---! @brief Operators for eql_v3.text_match. +--! @file encrypted_domain/text/text_eq_operators.sql +--! @brief Operators for eql_v3.text_eq. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match + LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text_match, RIGHTARG = jsonb + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match + LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text_match, RIGHTARG = jsonb + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match + LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text_match, RIGHTARG = jsonb + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match + LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text_match, RIGHTARG = jsonb + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match + LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text_match, RIGHTARG = jsonb + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match + LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text_match, RIGHTARG = jsonb + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match, - COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text_match, RIGHTARG = jsonb, - COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match, - COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match, - COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text_match, RIGHTARG = jsonb, - COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match, - COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text_match, RIGHTARG = text + LEFTARG = eql_v3.text_eq, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text_match, RIGHTARG = integer + LEFTARG = eql_v3.text_eq, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text_match, RIGHTARG = text + LEFTARG = eql_v3.text_eq, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text_match, RIGHTARG = integer + LEFTARG = eql_v3.text_eq, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.text_match, RIGHTARG = text + LEFTARG = eql_v3.text_eq, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.text_match, RIGHTARG = text[] + LEFTARG = eql_v3.text_eq, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.text_match, RIGHTARG = text[] + LEFTARG = eql_v3.text_eq, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.text_match, RIGHTARG = jsonpath + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.text_match, RIGHTARG = jsonpath + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.text_match, RIGHTARG = text[] + LEFTARG = eql_v3.text_eq, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.text_match, RIGHTARG = text[] + LEFTARG = eql_v3.text_eq, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_match, RIGHTARG = text + LEFTARG = eql_v3.text_eq, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_match, RIGHTARG = integer + LEFTARG = eql_v3.text_eq, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_match, RIGHTARG = text[] + LEFTARG = eql_v3.text_eq, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.text_match, RIGHTARG = text[] + LEFTARG = eql_v3.text_eq, RIGHTARG = text[] +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq +); +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/text/text_ord_ore_aggregates.sql +--! @brief Aggregates for eql_v3.text_ord_ore. + +--! @brief State function for min on eql_v3.text_ord_ore. +--! @param state eql_v3.text_ord_ore +--! @param value eql_v3.text_ord_ore +--! @return eql_v3.text_ord_ore +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.text_ord_ore, value eql_v3.text_ord_ore) +RETURNS eql_v3.text_ord_ore +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value < state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief min aggregate for eql_v3.text_ord_ore. +--! @param input eql_v3.text_ord_ore +--! @return eql_v3.text_ord_ore +CREATE AGGREGATE eql_v3.min(eql_v3.text_ord_ore) ( + sfunc = eql_v3.min_sfunc, + stype = eql_v3.text_ord_ore, + combinefunc = eql_v3.min_sfunc, + parallel = safe +); + +--! @brief State function for max on eql_v3.text_ord_ore. +--! @param state eql_v3.text_ord_ore +--! @param value eql_v3.text_ord_ore +--! @return eql_v3.text_ord_ore +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.text_ord_ore, value eql_v3.text_ord_ore) +RETURNS eql_v3.text_ord_ore +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value > state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief max aggregate for eql_v3.text_ord_ore. +--! @param input eql_v3.text_ord_ore +--! @return eql_v3.text_ord_ore +CREATE AGGREGATE eql_v3.max(eql_v3.text_ord_ore) ( + sfunc = eql_v3.max_sfunc, + stype = eql_v3.text_ord_ore, + combinefunc = eql_v3.max_sfunc, + parallel = safe ); +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/text/text_ord_aggregates.sql +--! @brief Aggregates for eql_v3.text_ord. + +--! @brief State function for min on eql_v3.text_ord. +--! @param state eql_v3.text_ord +--! @param value eql_v3.text_ord +--! @return eql_v3.text_ord +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.text_ord, value eql_v3.text_ord) +RETURNS eql_v3.text_ord +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value < state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text_match, RIGHTARG = eql_v3.text_match +--! @brief min aggregate for eql_v3.text_ord. +--! @param input eql_v3.text_ord +--! @return eql_v3.text_ord +CREATE AGGREGATE eql_v3.min(eql_v3.text_ord) ( + sfunc = eql_v3.min_sfunc, + stype = eql_v3.text_ord, + combinefunc = eql_v3.min_sfunc, + parallel = safe ); -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text_match, RIGHTARG = jsonb -); +--! @brief State function for max on eql_v3.text_ord. +--! @param state eql_v3.text_ord +--! @param value eql_v3.text_ord +--! @return eql_v3.text_ord +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.text_ord, value eql_v3.text_ord) +RETURNS eql_v3.text_ord +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value > state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_match +--! @brief max aggregate for eql_v3.text_ord. +--! @param input eql_v3.text_ord +--! @return eql_v3.text_ord +CREATE AGGREGATE eql_v3.max(eql_v3.text_ord) ( + sfunc = eql_v3.max_sfunc, + stype = eql_v3.text_ord, + combinefunc = eql_v3.max_sfunc, + parallel = safe ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_search_operators.sql ---! @brief Operators for eql_v3.text_search. +--! @file encrypted_domain/text/text_operators.sql +--! @brief Operators for eql_v3.text. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel + LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel + LEFTARG = eql_v3.text, RIGHTARG = jsonb ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel + LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel + LEFTARG = eql_v3.text, RIGHTARG = jsonb ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel + LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel + LEFTARG = eql_v3.text, RIGHTARG = jsonb ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, - COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel + LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel + LEFTARG = eql_v3.text, RIGHTARG = jsonb ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, - COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel + LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel + LEFTARG = eql_v3.text, RIGHTARG = jsonb ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, - COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel + LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel + LEFTARG = eql_v3.text, RIGHTARG = jsonb ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, - COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, JOIN = scalargejoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, - COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, - COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = eql_v3.text, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, - COMMUTATOR = <@, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search, - COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text_search, RIGHTARG = jsonb, - COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = eql_v3.text, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search, - COMMUTATOR = @>, RESTRICT = contsel, JOIN = contjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text_search, RIGHTARG = text + LEFTARG = eql_v3.text, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text_search, RIGHTARG = integer + LEFTARG = eql_v3.text, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text_search, RIGHTARG = text + LEFTARG = eql_v3.text, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text_search, RIGHTARG = integer + LEFTARG = eql_v3.text, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.text_search, RIGHTARG = text + LEFTARG = eql_v3.text, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.text_search, RIGHTARG = text[] + LEFTARG = eql_v3.text, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.text_search, RIGHTARG = text[] + LEFTARG = eql_v3.text, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.text_search, RIGHTARG = jsonpath + LEFTARG = eql_v3.text, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.text_search, RIGHTARG = jsonpath + LEFTARG = eql_v3.text, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.text_search, RIGHTARG = text[] + LEFTARG = eql_v3.text, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.text_search, RIGHTARG = text[] + LEFTARG = eql_v3.text, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_search, RIGHTARG = text + LEFTARG = eql_v3.text, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_search, RIGHTARG = integer + LEFTARG = eql_v3.text, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_search, RIGHTARG = text[] + LEFTARG = eql_v3.text, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.text_search, RIGHTARG = text[] + LEFTARG = eql_v3.text, RIGHTARG = text[] ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text_search, RIGHTARG = eql_v3.text_search + LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text_search, RIGHTARG = jsonb + LEFTARG = eql_v3.text, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_search + LEFTARG = jsonb, RIGHTARG = eql_v3.text ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_eq_operators.sql ---! @brief Operators for eql_v3.text_eq. +--! @file encrypted_domain/text/text_search_aggregates.sql +--! @brief Aggregates for eql_v3.text_search. + +--! @brief State function for min on eql_v3.text_search. +--! @param state eql_v3.text_search +--! @param value eql_v3.text_search +--! @return eql_v3.text_search +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.text_search, value eql_v3.text_search) +RETURNS eql_v3.text_search +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value < state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief min aggregate for eql_v3.text_search. +--! @param input eql_v3.text_search +--! @return eql_v3.text_search +CREATE AGGREGATE eql_v3.min(eql_v3.text_search) ( + sfunc = eql_v3.min_sfunc, + stype = eql_v3.text_search, + combinefunc = eql_v3.min_sfunc, + parallel = safe +); + +--! @brief State function for max on eql_v3.text_search. +--! @param state eql_v3.text_search +--! @param value eql_v3.text_search +--! @return eql_v3.text_search +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.text_search, value eql_v3.text_search) +RETURNS eql_v3.text_search +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value > state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief max aggregate for eql_v3.text_search. +--! @param input eql_v3.text_search +--! @return eql_v3.text_search +CREATE AGGREGATE eql_v3.max(eql_v3.text_search) ( + sfunc = eql_v3.max_sfunc, + stype = eql_v3.text_search, + combinefunc = eql_v3.max_sfunc, + parallel = safe +); +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/float4/float4_eq_operators.sql +--! @brief Operators for eql_v3.float4_eq. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq, + LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb, + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq, + LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb, + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq + LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq + LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq + LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq + LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq + LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq + LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text_eq, RIGHTARG = text + LEFTARG = eql_v3.float4_eq, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text_eq, RIGHTARG = integer + LEFTARG = eql_v3.float4_eq, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text_eq, RIGHTARG = text + LEFTARG = eql_v3.float4_eq, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text_eq, RIGHTARG = integer + LEFTARG = eql_v3.float4_eq, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.text_eq, RIGHTARG = text + LEFTARG = eql_v3.float4_eq, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.text_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.text_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonpath + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonpath + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.text_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.text_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_eq, RIGHTARG = text + LEFTARG = eql_v3.float4_eq, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_eq, RIGHTARG = integer + LEFTARG = eql_v3.float4_eq, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.text_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text_eq, RIGHTARG = eql_v3.text_eq + LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.text_eq -); --- AUTOMATICALLY GENERATED FILE. - ---! @file encrypted_domain/text/text_ord_ore_aggregates.sql ---! @brief Aggregates for eql_v3.text_ord_ore. - ---! @brief State function for min on eql_v3.text_ord_ore. ---! @param state eql_v3.text_ord_ore ---! @param value eql_v3.text_ord_ore ---! @return eql_v3.text_ord_ore -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.text_ord_ore, value eql_v3.text_ord_ore) -RETURNS eql_v3.text_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value < state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; - ---! @brief min aggregate for eql_v3.text_ord_ore. ---! @param input eql_v3.text_ord_ore ---! @return eql_v3.text_ord_ore -CREATE AGGREGATE eql_v3.min(eql_v3.text_ord_ore) ( - sfunc = eql_v3.min_sfunc, - stype = eql_v3.text_ord_ore, - combinefunc = eql_v3.min_sfunc, - parallel = safe -); - ---! @brief State function for max on eql_v3.text_ord_ore. ---! @param state eql_v3.text_ord_ore ---! @param value eql_v3.text_ord_ore ---! @return eql_v3.text_ord_ore -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.text_ord_ore, value eql_v3.text_ord_ore) -RETURNS eql_v3.text_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value > state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; - ---! @brief max aggregate for eql_v3.text_ord_ore. ---! @param input eql_v3.text_ord_ore ---! @return eql_v3.text_ord_ore -CREATE AGGREGATE eql_v3.max(eql_v3.text_ord_ore) ( - sfunc = eql_v3.max_sfunc, - stype = eql_v3.text_ord_ore, - combinefunc = eql_v3.max_sfunc, - parallel = safe + LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_ord_aggregates.sql ---! @brief Aggregates for eql_v3.text_ord. +--! @file encrypted_domain/float4/float4_ord_ore_aggregates.sql +--! @brief Aggregates for eql_v3.float4_ord_ore. ---! @brief State function for min on eql_v3.text_ord. ---! @param state eql_v3.text_ord ---! @param value eql_v3.text_ord ---! @return eql_v3.text_ord -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.text_ord, value eql_v3.text_ord) -RETURNS eql_v3.text_ord +--! @brief State function for min on eql_v3.float4_ord_ore. +--! @param state eql_v3.float4_ord_ore +--! @param value eql_v3.float4_ord_ore +--! @return eql_v3.float4_ord_ore +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.float4_ord_ore, value eql_v3.float4_ord_ore) +RETURNS eql_v3.float4_ord_ore LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE SET search_path = pg_catalog, extensions, public AS $$ @@ -26793,22 +26757,22 @@ BEGIN END; $$; ---! @brief min aggregate for eql_v3.text_ord. ---! @param input eql_v3.text_ord ---! @return eql_v3.text_ord -CREATE AGGREGATE eql_v3.min(eql_v3.text_ord) ( +--! @brief min aggregate for eql_v3.float4_ord_ore. +--! @param input eql_v3.float4_ord_ore +--! @return eql_v3.float4_ord_ore +CREATE AGGREGATE eql_v3.min(eql_v3.float4_ord_ore) ( sfunc = eql_v3.min_sfunc, - stype = eql_v3.text_ord, + stype = eql_v3.float4_ord_ore, combinefunc = eql_v3.min_sfunc, parallel = safe ); ---! @brief State function for max on eql_v3.text_ord. ---! @param state eql_v3.text_ord ---! @param value eql_v3.text_ord ---! @return eql_v3.text_ord -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.text_ord, value eql_v3.text_ord) -RETURNS eql_v3.text_ord +--! @brief State function for max on eql_v3.float4_ord_ore. +--! @param state eql_v3.float4_ord_ore +--! @param value eql_v3.float4_ord_ore +--! @return eql_v3.float4_ord_ore +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.float4_ord_ore, value eql_v3.float4_ord_ore) +RETURNS eql_v3.float4_ord_ore LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE SET search_path = pg_catalog, extensions, public AS $$ @@ -26820,250 +26784,426 @@ BEGIN END; $$; ---! @brief max aggregate for eql_v3.text_ord. ---! @param input eql_v3.text_ord ---! @return eql_v3.text_ord -CREATE AGGREGATE eql_v3.max(eql_v3.text_ord) ( +--! @brief max aggregate for eql_v3.float4_ord_ore. +--! @param input eql_v3.float4_ord_ore +--! @return eql_v3.float4_ord_ore +CREATE AGGREGATE eql_v3.max(eql_v3.float4_ord_ore) ( sfunc = eql_v3.max_sfunc, - stype = eql_v3.text_ord, + stype = eql_v3.float4_ord_ore, combinefunc = eql_v3.max_sfunc, parallel = safe ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_operators.sql ---! @brief Operators for eql_v3.text. - -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text -); +--! @file encrypted_domain/float4/float4_functions.sql +--! @brief Functions for eql_v3.float4. -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.text, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.float4, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR = ( - FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.float4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.text, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.float4, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <> ( - FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.float4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.text, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.float4, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR < ( - FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.float4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.text, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.float4, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <= ( - FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.lte(a eql_v3.float4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.text, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.float4, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR > ( - FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gt(a eql_v3.float4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.text, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.float4, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR >= ( - FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.gte(a eql_v3.float4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.text, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.float4, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @> ( - FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contains(a eql_v3.float4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.text, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.float4, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR <@ ( - FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a eql_v3.float4, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param b eql_v3.float4 +--! @return boolean +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.float4) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = eql_v3.text, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param selector text +--! @return eql_v3.float4 +CREATE FUNCTION eql_v3."->"(a eql_v3.float4, selector text) +RETURNS eql_v3.float4 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR -> ( - FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param selector integer +--! @return eql_v3.float4 +CREATE FUNCTION eql_v3."->"(a eql_v3.float4, selector integer) +RETURNS eql_v3.float4 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param selector eql_v3.float4 +--! @return eql_v3.float4 +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.float4) +RETURNS eql_v3.float4 IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.text, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param selector text +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.float4, selector text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.float4, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ->> ( - FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param selector eql_v3.float4 +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.float4) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ? ( - FUNCTION = eql_v3."?", - LEFTARG = eql_v3.text, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b text +--! @return boolean +CREATE FUNCTION eql_v3."?"(a eql_v3.float4, b text) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?| ( - FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.text, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?|"(a eql_v3.float4, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR ?& ( - FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.text, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b text[] +--! @return boolean +CREATE FUNCTION eql_v3."?&"(a eql_v3.float4, b text[]) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @? ( - FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.text, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@?"(a eql_v3.float4, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR @@ ( - FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.text, RIGHTARG = jsonpath -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonpath +--! @return boolean +CREATE FUNCTION eql_v3."@@"(a eql_v3.float4, b jsonpath) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #> ( - FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.text, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#>"(a eql_v3.float4, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #>> ( - FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.text, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b text[] +--! @return text +CREATE FUNCTION eql_v3."#>>"(a eql_v3.float4, b text[]) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text, RIGHTARG = text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b text +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.float4, b text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text, RIGHTARG = integer -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b integer +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.float4, b integer) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR - ( - FUNCTION = eql_v3."-", - LEFTARG = eql_v3.text, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.float4, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR #- ( - FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.text, RIGHTARG = text[] -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#-"(a eql_v3.float4, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b eql_v3.float4 +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.float4, b eql_v3.float4) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = eql_v3.text, RIGHTARG = jsonb -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a eql_v3.float4 +--! @param b jsonb +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.float4, b jsonb) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -CREATE OPERATOR || ( - FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.text -); +--! @brief Unsupported operator blocker for eql_v3.float4. +--! @param a jsonb +--! @param b eql_v3.float4 +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.float4) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float4'; END; $$ +LANGUAGE plpgsql; -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/text/text_search_aggregates.sql ---! @brief Aggregates for eql_v3.text_search. +--! @file encrypted_domain/float4/float4_ord_aggregates.sql +--! @brief Aggregates for eql_v3.float4_ord. ---! @brief State function for min on eql_v3.text_search. ---! @param state eql_v3.text_search ---! @param value eql_v3.text_search ---! @return eql_v3.text_search -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.text_search, value eql_v3.text_search) -RETURNS eql_v3.text_search +--! @brief State function for min on eql_v3.float4_ord. +--! @param state eql_v3.float4_ord +--! @param value eql_v3.float4_ord +--! @return eql_v3.float4_ord +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.float4_ord, value eql_v3.float4_ord) +RETURNS eql_v3.float4_ord LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE SET search_path = pg_catalog, extensions, public AS $$ @@ -27075,22 +27215,22 @@ BEGIN END; $$; ---! @brief min aggregate for eql_v3.text_search. ---! @param input eql_v3.text_search ---! @return eql_v3.text_search -CREATE AGGREGATE eql_v3.min(eql_v3.text_search) ( +--! @brief min aggregate for eql_v3.float4_ord. +--! @param input eql_v3.float4_ord +--! @return eql_v3.float4_ord +CREATE AGGREGATE eql_v3.min(eql_v3.float4_ord) ( sfunc = eql_v3.min_sfunc, - stype = eql_v3.text_search, + stype = eql_v3.float4_ord, combinefunc = eql_v3.min_sfunc, parallel = safe ); ---! @brief State function for max on eql_v3.text_search. ---! @param state eql_v3.text_search ---! @param value eql_v3.text_search ---! @return eql_v3.text_search -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.text_search, value eql_v3.text_search) -RETURNS eql_v3.text_search +--! @brief State function for max on eql_v3.float4_ord. +--! @param state eql_v3.float4_ord +--! @param value eql_v3.float4_ord +--! @return eql_v3.float4_ord +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.float4_ord, value eql_v3.float4_ord) +RETURNS eql_v3.float4_ord LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE SET search_path = pg_catalog, extensions, public AS $$ @@ -27102,714 +27242,938 @@ BEGIN END; $$; ---! @brief max aggregate for eql_v3.text_search. ---! @param input eql_v3.text_search ---! @return eql_v3.text_search -CREATE AGGREGATE eql_v3.max(eql_v3.text_search) ( +--! @brief max aggregate for eql_v3.float4_ord. +--! @param input eql_v3.float4_ord +--! @return eql_v3.float4_ord +CREATE AGGREGATE eql_v3.max(eql_v3.float4_ord) ( sfunc = eql_v3.max_sfunc, - stype = eql_v3.text_search, + stype = eql_v3.float4_ord, combinefunc = eql_v3.max_sfunc, parallel = safe ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/float4/float4_eq_operators.sql ---! @brief Operators for eql_v3.float4_eq. +--! @file encrypted_domain/float4/float4_operators.sql +--! @brief Operators for eql_v3.float4. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel + LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel + LEFTARG = eql_v3.float4, RIGHTARG = jsonb ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq, - COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel + LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel + LEFTARG = eql_v3.float4, RIGHTARG = jsonb ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq, - COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq + LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4, RIGHTARG = jsonb ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq + LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4, RIGHTARG = jsonb ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq + LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4, RIGHTARG = jsonb ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq + LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4, RIGHTARG = jsonb ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq + LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq + LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text + LEFTARG = eql_v3.float4, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.float4_eq, RIGHTARG = integer + LEFTARG = eql_v3.float4, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text + LEFTARG = eql_v3.float4, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.float4_eq, RIGHTARG = integer + LEFTARG = eql_v3.float4, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text + LEFTARG = eql_v3.float4, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonpath + LEFTARG = eql_v3.float4, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonpath + LEFTARG = eql_v3.float4, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text + LEFTARG = eql_v3.float4, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.float4_eq, RIGHTARG = integer + LEFTARG = eql_v3.float4, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.float4_eq, RIGHTARG = text[] + LEFTARG = eql_v3.float4, RIGHTARG = text[] ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.float4_eq, RIGHTARG = eql_v3.float4_eq + LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.float4_eq, RIGHTARG = jsonb + LEFTARG = eql_v3.float4, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.float4_eq + LEFTARG = jsonb, RIGHTARG = eql_v3.float4 ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/float4/float4_ord_ore_aggregates.sql ---! @brief Aggregates for eql_v3.float4_ord_ore. +--! @file encrypted_domain/timestamp/timestamp_functions.sql +--! @brief Functions for eql_v3.timestamp. ---! @brief State function for min on eql_v3.float4_ord_ore. ---! @param state eql_v3.float4_ord_ore ---! @param value eql_v3.float4_ord_ore ---! @return eql_v3.float4_ord_ore -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.float4_ord_ore, value eql_v3.float4_ord_ore) -RETURNS eql_v3.float4_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value < state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b eql_v3.timestamp +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.timestamp, b eql_v3.timestamp) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; ---! @brief min aggregate for eql_v3.float4_ord_ore. ---! @param input eql_v3.float4_ord_ore ---! @return eql_v3.float4_ord_ore -CREATE AGGREGATE eql_v3.min(eql_v3.float4_ord_ore) ( - sfunc = eql_v3.min_sfunc, - stype = eql_v3.float4_ord_ore, - combinefunc = eql_v3.min_sfunc, - parallel = safe -); +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.eq(a eql_v3.timestamp, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; ---! @brief State function for max on eql_v3.float4_ord_ore. ---! @param state eql_v3.float4_ord_ore ---! @param value eql_v3.float4_ord_ore ---! @return eql_v3.float4_ord_ore -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.float4_ord_ore, value eql_v3.float4_ord_ore) -RETURNS eql_v3.float4_ord_ore -LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE -SET search_path = pg_catalog, extensions, public -AS $$ -BEGIN - IF value > state THEN - RETURN value; - END IF; - RETURN state; -END; -$$; +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a jsonb +--! @param b eql_v3.timestamp +--! @return boolean +CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.timestamp) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; ---! @brief max aggregate for eql_v3.float4_ord_ore. ---! @param input eql_v3.float4_ord_ore ---! @return eql_v3.float4_ord_ore -CREATE AGGREGATE eql_v3.max(eql_v3.float4_ord_ore) ( - sfunc = eql_v3.max_sfunc, - stype = eql_v3.float4_ord_ore, - combinefunc = eql_v3.max_sfunc, - parallel = safe -); --- AUTOMATICALLY GENERATED FILE. +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b eql_v3.timestamp +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.timestamp, b eql_v3.timestamp) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; ---! @file encrypted_domain/float4/float4_functions.sql ---! @brief Functions for eql_v3.float4. +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b jsonb +--! @return boolean +CREATE FUNCTION eql_v3.neq(a eql_v3.timestamp, b jsonb) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a jsonb +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.float4, b eql_v3.float4) +CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b eql_v3.timestamp +--! @return boolean +CREATE FUNCTION eql_v3.lt(a eql_v3.timestamp, b eql_v3.timestamp) +RETURNS boolean IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.eq(a eql_v3.float4, b jsonb) +CREATE FUNCTION eql_v3.lt(a eql_v3.timestamp, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. +--! @brief Unsupported operator blocker for eql_v3.timestamp. --! @param a jsonb ---! @param b eql_v3.float4 +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.eq(a jsonb, b eql_v3.float4) +CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '=', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.float4, b eql_v3.float4) +CREATE FUNCTION eql_v3.lte(a eql_v3.timestamp, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.neq(a eql_v3.float4, b jsonb) +CREATE FUNCTION eql_v3.lte(a eql_v3.timestamp, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. +--! @brief Unsupported operator blocker for eql_v3.timestamp. --! @param a jsonb ---! @param b eql_v3.float4 +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.neq(a jsonb, b eql_v3.float4) +CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<>', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.float4, b eql_v3.float4) +CREATE FUNCTION eql_v3.gt(a eql_v3.timestamp, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lt(a eql_v3.float4, b jsonb) +CREATE FUNCTION eql_v3.gt(a eql_v3.timestamp, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. +--! @brief Unsupported operator blocker for eql_v3.timestamp. --! @param a jsonb ---! @param b eql_v3.float4 +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.lt(a jsonb, b eql_v3.float4) +CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.float4, b eql_v3.float4) +CREATE FUNCTION eql_v3.gte(a eql_v3.timestamp, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.lte(a eql_v3.float4, b jsonb) +CREATE FUNCTION eql_v3.gte(a eql_v3.timestamp, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. +--! @brief Unsupported operator blocker for eql_v3.timestamp. --! @param a jsonb ---! @param b eql_v3.float4 +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.lte(a jsonb, b eql_v3.float4) +CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<=', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.float4, b eql_v3.float4) +CREATE FUNCTION eql_v3.contains(a eql_v3.timestamp, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gt(a eql_v3.float4, b jsonb) +CREATE FUNCTION eql_v3.contains(a eql_v3.timestamp, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. +--! @brief Unsupported operator blocker for eql_v3.timestamp. --! @param a jsonb ---! @param b eql_v3.float4 +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.gt(a jsonb, b eql_v3.float4) +CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.float4, b eql_v3.float4) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamp, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp --! @param b jsonb --! @return boolean -CREATE FUNCTION eql_v3.gte(a eql_v3.float4, b jsonb) +CREATE FUNCTION eql_v3.contained_by(a eql_v3.timestamp, b jsonb) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. +--! @brief Unsupported operator blocker for eql_v3.timestamp. --! @param a jsonb ---! @param b eql_v3.float4 +--! @param b eql_v3.timestamp --! @return boolean -CREATE FUNCTION eql_v3.gte(a jsonb, b eql_v3.float4) +CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.timestamp) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '>=', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param selector text +--! @return eql_v3.timestamp +CREATE FUNCTION eql_v3."->"(a eql_v3.timestamp, selector text) +RETURNS eql_v3.timestamp IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param selector integer +--! @return eql_v3.timestamp +CREATE FUNCTION eql_v3."->"(a eql_v3.timestamp, selector integer) +RETURNS eql_v3.timestamp IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a jsonb +--! @param selector eql_v3.timestamp +--! @return eql_v3.timestamp +CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.timestamp) +RETURNS eql_v3.timestamp IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param selector text +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamp, selector text) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param selector integer +--! @return text +CREATE FUNCTION eql_v3."->>"(a eql_v3.timestamp, selector integer) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a jsonb +--! @param selector eql_v3.timestamp +--! @return text +CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.timestamp) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b text --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.float4, b eql_v3.float4) +CREATE FUNCTION eql_v3."?"(a eql_v3.timestamp, b text) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b jsonb +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3.contains(a eql_v3.float4, b jsonb) +CREATE FUNCTION eql_v3."?|"(a eql_v3.timestamp, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a jsonb ---! @param b eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b text[] --! @return boolean -CREATE FUNCTION eql_v3.contains(a jsonb, b eql_v3.float4) +CREATE FUNCTION eql_v3."?&"(a eql_v3.timestamp, b text[]) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@>', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b eql_v3.float4 +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.float4, b eql_v3.float4) +CREATE FUNCTION eql_v3."@?"(a eql_v3.timestamp, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b jsonb +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b jsonpath --! @return boolean -CREATE FUNCTION eql_v3.contained_by(a eql_v3.float4, b jsonb) +CREATE FUNCTION eql_v3."@@"(a eql_v3.timestamp, b jsonpath) RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float4'; END; $$ +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a jsonb ---! @param b eql_v3.float4 ---! @return boolean -CREATE FUNCTION eql_v3.contained_by(a jsonb, b eql_v3.float4) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '<@', 'eql_v3.float4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#>"(a eql_v3.timestamp, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param selector text ---! @return eql_v3.float4 -CREATE FUNCTION eql_v3."->"(a eql_v3.float4, selector text) -RETURNS eql_v3.float4 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b text[] +--! @return text +CREATE FUNCTION eql_v3."#>>"(a eql_v3.timestamp, b text[]) +RETURNS text IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param selector integer ---! @return eql_v3.float4 -CREATE FUNCTION eql_v3."->"(a eql_v3.float4, selector integer) -RETURNS eql_v3.float4 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b text +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp, b text) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a jsonb ---! @param selector eql_v3.float4 ---! @return eql_v3.float4 -CREATE FUNCTION eql_v3."->"(a jsonb, selector eql_v3.float4) -RETURNS eql_v3.float4 IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->', 'eql_v3.float4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b integer +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp, b integer) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param selector text ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.float4, selector text) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."-"(a eql_v3.timestamp, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param selector integer ---! @return text -CREATE FUNCTION eql_v3."->>"(a eql_v3.float4, selector integer) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float4'; END; $$ +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b text[] +--! @return jsonb +CREATE FUNCTION eql_v3."#-"(a eql_v3.timestamp, b text[]) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b eql_v3.timestamp +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.timestamp, b eql_v3.timestamp) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a eql_v3.timestamp +--! @param b jsonb +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a eql_v3.timestamp, b jsonb) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp'; END; $$ +LANGUAGE plpgsql; + +--! @brief Unsupported operator blocker for eql_v3.timestamp. +--! @param a jsonb +--! @param b eql_v3.timestamp +--! @return jsonb +CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.timestamp) +RETURNS jsonb IMMUTABLE PARALLEL SAFE +AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.timestamp'; END; $$ LANGUAGE plpgsql; +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/timestamp/timestamp_ord_aggregates.sql +--! @brief Aggregates for eql_v3.timestamp_ord. + +--! @brief State function for min on eql_v3.timestamp_ord. +--! @param state eql_v3.timestamp_ord +--! @param value eql_v3.timestamp_ord +--! @return eql_v3.timestamp_ord +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.timestamp_ord, value eql_v3.timestamp_ord) +RETURNS eql_v3.timestamp_ord +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value < state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief min aggregate for eql_v3.timestamp_ord. +--! @param input eql_v3.timestamp_ord +--! @return eql_v3.timestamp_ord +CREATE AGGREGATE eql_v3.min(eql_v3.timestamp_ord) ( + sfunc = eql_v3.min_sfunc, + stype = eql_v3.timestamp_ord, + combinefunc = eql_v3.min_sfunc, + parallel = safe +); + +--! @brief State function for max on eql_v3.timestamp_ord. +--! @param state eql_v3.timestamp_ord +--! @param value eql_v3.timestamp_ord +--! @return eql_v3.timestamp_ord +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.timestamp_ord, value eql_v3.timestamp_ord) +RETURNS eql_v3.timestamp_ord +LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE +SET search_path = pg_catalog, extensions, public +AS $$ +BEGIN + IF value > state THEN + RETURN value; + END IF; + RETURN state; +END; +$$; + +--! @brief max aggregate for eql_v3.timestamp_ord. +--! @param input eql_v3.timestamp_ord +--! @return eql_v3.timestamp_ord +CREATE AGGREGATE eql_v3.max(eql_v3.timestamp_ord) ( + sfunc = eql_v3.max_sfunc, + stype = eql_v3.timestamp_ord, + combinefunc = eql_v3.max_sfunc, + parallel = safe +); +-- AUTOMATICALLY GENERATED FILE. + +--! @file encrypted_domain/timestamp/timestamp_eq_operators.sql +--! @brief Operators for eql_v3.timestamp_eq. + +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = eql_v3.timestamp_eq, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonb, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR = ( + FUNCTION = eql_v3.eq, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq, + COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = eql_v3.timestamp_eq, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonb, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR <> ( + FUNCTION = eql_v3.neq, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq, + COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonb +); + +CREATE OPERATOR < ( + FUNCTION = eql_v3.lt, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonb +); + +CREATE OPERATOR <= ( + FUNCTION = eql_v3.lte, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonb +); + +CREATE OPERATOR > ( + FUNCTION = eql_v3.gt, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonb +); + +CREATE OPERATOR >= ( + FUNCTION = eql_v3.gte, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonb +); + +CREATE OPERATOR @> ( + FUNCTION = eql_v3.contains, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonb +); + +CREATE OPERATOR <@ ( + FUNCTION = eql_v3.contained_by, + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = integer +); + +CREATE OPERATOR -> ( + FUNCTION = eql_v3."->", + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq +); + +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a jsonb ---! @param selector eql_v3.float4 ---! @return text -CREATE FUNCTION eql_v3."->>"(a jsonb, selector eql_v3.float4) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '->>', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b text ---! @return boolean -CREATE FUNCTION eql_v3."?"(a eql_v3.float4, b text) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ->> ( + FUNCTION = eql_v3."->>", + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?|"(a eql_v3.float4, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?|', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ? ( + FUNCTION = eql_v3."?", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b text[] ---! @return boolean -CREATE FUNCTION eql_v3."?&"(a eql_v3.float4, b text[]) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '?&', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?| ( + FUNCTION = eql_v3."?|", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@?"(a eql_v3.float4, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@?', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR ?& ( + FUNCTION = eql_v3."?&", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b jsonpath ---! @return boolean -CREATE FUNCTION eql_v3."@@"(a eql_v3.float4, b jsonpath) -RETURNS boolean IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '@@', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @? ( + FUNCTION = eql_v3."@?", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#>"(a eql_v3.float4, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR @@ ( + FUNCTION = eql_v3."@@", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonpath +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b text[] ---! @return text -CREATE FUNCTION eql_v3."#>>"(a eql_v3.float4, b text[]) -RETURNS text IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#>>', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #> ( + FUNCTION = eql_v3."#>", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b text ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float4, b text) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #>> ( + FUNCTION = eql_v3."#>>", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b integer ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float4, b integer) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."-"(a eql_v3.float4, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '-', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = integer +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b text[] ---! @return jsonb -CREATE FUNCTION eql_v3."#-"(a eql_v3.float4, b text[]) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '#-', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR - ( + FUNCTION = eql_v3."-", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b eql_v3.float4 ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.float4, b eql_v3.float4) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR #- ( + FUNCTION = eql_v3."#-", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = text[] +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a eql_v3.float4 ---! @param b jsonb ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a eql_v3.float4, b jsonb) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = eql_v3.timestamp_eq +); ---! @brief Unsupported operator blocker for eql_v3.float4. ---! @param a jsonb ---! @param b eql_v3.float4 ---! @return jsonb -CREATE FUNCTION eql_v3."||"(a jsonb, b eql_v3.float4) -RETURNS jsonb IMMUTABLE PARALLEL SAFE -AS $$ BEGIN RAISE EXCEPTION 'operator % is not supported for %', '||', 'eql_v3.float4'; END; $$ -LANGUAGE plpgsql; +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = eql_v3.timestamp_eq, RIGHTARG = jsonb +); + +CREATE OPERATOR || ( + FUNCTION = eql_v3."||", + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp_eq +); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/float4/float4_ord_aggregates.sql ---! @brief Aggregates for eql_v3.float4_ord. +--! @file encrypted_domain/timestamp/timestamp_ord_ore_aggregates.sql +--! @brief Aggregates for eql_v3.timestamp_ord_ore. ---! @brief State function for min on eql_v3.float4_ord. ---! @param state eql_v3.float4_ord ---! @param value eql_v3.float4_ord ---! @return eql_v3.float4_ord -CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.float4_ord, value eql_v3.float4_ord) -RETURNS eql_v3.float4_ord +--! @brief State function for min on eql_v3.timestamp_ord_ore. +--! @param state eql_v3.timestamp_ord_ore +--! @param value eql_v3.timestamp_ord_ore +--! @return eql_v3.timestamp_ord_ore +CREATE FUNCTION eql_v3.min_sfunc(state eql_v3.timestamp_ord_ore, value eql_v3.timestamp_ord_ore) +RETURNS eql_v3.timestamp_ord_ore LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE SET search_path = pg_catalog, extensions, public AS $$ @@ -27821,22 +28185,22 @@ BEGIN END; $$; ---! @brief min aggregate for eql_v3.float4_ord. ---! @param input eql_v3.float4_ord ---! @return eql_v3.float4_ord -CREATE AGGREGATE eql_v3.min(eql_v3.float4_ord) ( +--! @brief min aggregate for eql_v3.timestamp_ord_ore. +--! @param input eql_v3.timestamp_ord_ore +--! @return eql_v3.timestamp_ord_ore +CREATE AGGREGATE eql_v3.min(eql_v3.timestamp_ord_ore) ( sfunc = eql_v3.min_sfunc, - stype = eql_v3.float4_ord, + stype = eql_v3.timestamp_ord_ore, combinefunc = eql_v3.min_sfunc, parallel = safe ); ---! @brief State function for max on eql_v3.float4_ord. ---! @param state eql_v3.float4_ord ---! @param value eql_v3.float4_ord ---! @return eql_v3.float4_ord -CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.float4_ord, value eql_v3.float4_ord) -RETURNS eql_v3.float4_ord +--! @brief State function for max on eql_v3.timestamp_ord_ore. +--! @param state eql_v3.timestamp_ord_ore +--! @param value eql_v3.timestamp_ord_ore +--! @return eql_v3.timestamp_ord_ore +CREATE FUNCTION eql_v3.max_sfunc(state eql_v3.timestamp_ord_ore, value eql_v3.timestamp_ord_ore) +RETURNS eql_v3.timestamp_ord_ore LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE SET search_path = pg_catalog, extensions, public AS $$ @@ -27848,238 +28212,238 @@ BEGIN END; $$; ---! @brief max aggregate for eql_v3.float4_ord. ---! @param input eql_v3.float4_ord ---! @return eql_v3.float4_ord -CREATE AGGREGATE eql_v3.max(eql_v3.float4_ord) ( +--! @brief max aggregate for eql_v3.timestamp_ord_ore. +--! @param input eql_v3.timestamp_ord_ore +--! @return eql_v3.timestamp_ord_ore +CREATE AGGREGATE eql_v3.max(eql_v3.timestamp_ord_ore) ( sfunc = eql_v3.max_sfunc, - stype = eql_v3.float4_ord, + stype = eql_v3.timestamp_ord_ore, combinefunc = eql_v3.max_sfunc, parallel = safe ); -- AUTOMATICALLY GENERATED FILE. ---! @file encrypted_domain/float4/float4_operators.sql ---! @brief Operators for eql_v3.float4. +--! @file encrypted_domain/timestamp/timestamp_operators.sql +--! @brief Operators for eql_v3.timestamp. CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 + LEFTARG = eql_v3.timestamp, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.float4, RIGHTARG = jsonb + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonb ); CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 + LEFTARG = eql_v3.timestamp, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.float4, RIGHTARG = jsonb + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonb ); CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 + LEFTARG = eql_v3.timestamp, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.float4, RIGHTARG = jsonb + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonb ); CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 + LEFTARG = eql_v3.timestamp, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.float4, RIGHTARG = jsonb + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonb ); CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 + LEFTARG = eql_v3.timestamp, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.float4, RIGHTARG = jsonb + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonb ); CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 + LEFTARG = eql_v3.timestamp, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.float4, RIGHTARG = jsonb + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonb ); CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 + LEFTARG = eql_v3.timestamp, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = eql_v3.float4, RIGHTARG = jsonb + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonb ); CREATE OPERATOR @> ( FUNCTION = eql_v3.contains, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 + LEFTARG = eql_v3.timestamp, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = eql_v3.float4, RIGHTARG = jsonb + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonb ); CREATE OPERATOR <@ ( FUNCTION = eql_v3.contained_by, - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.float4, RIGHTARG = text + LEFTARG = eql_v3.timestamp, RIGHTARG = text ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = eql_v3.float4, RIGHTARG = integer + LEFTARG = eql_v3.timestamp, RIGHTARG = integer ); CREATE OPERATOR -> ( FUNCTION = eql_v3."->", - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.float4, RIGHTARG = text + LEFTARG = eql_v3.timestamp, RIGHTARG = text ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = eql_v3.float4, RIGHTARG = integer + LEFTARG = eql_v3.timestamp, RIGHTARG = integer ); CREATE OPERATOR ->> ( FUNCTION = eql_v3."->>", - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR ? ( FUNCTION = eql_v3."?", - LEFTARG = eql_v3.float4, RIGHTARG = text + LEFTARG = eql_v3.timestamp, RIGHTARG = text ); CREATE OPERATOR ?| ( FUNCTION = eql_v3."?|", - LEFTARG = eql_v3.float4, RIGHTARG = text[] + LEFTARG = eql_v3.timestamp, RIGHTARG = text[] ); CREATE OPERATOR ?& ( FUNCTION = eql_v3."?&", - LEFTARG = eql_v3.float4, RIGHTARG = text[] + LEFTARG = eql_v3.timestamp, RIGHTARG = text[] ); CREATE OPERATOR @? ( FUNCTION = eql_v3."@?", - LEFTARG = eql_v3.float4, RIGHTARG = jsonpath + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonpath ); CREATE OPERATOR @@ ( FUNCTION = eql_v3."@@", - LEFTARG = eql_v3.float4, RIGHTARG = jsonpath + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonpath ); CREATE OPERATOR #> ( FUNCTION = eql_v3."#>", - LEFTARG = eql_v3.float4, RIGHTARG = text[] + LEFTARG = eql_v3.timestamp, RIGHTARG = text[] ); CREATE OPERATOR #>> ( FUNCTION = eql_v3."#>>", - LEFTARG = eql_v3.float4, RIGHTARG = text[] + LEFTARG = eql_v3.timestamp, RIGHTARG = text[] ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.float4, RIGHTARG = text + LEFTARG = eql_v3.timestamp, RIGHTARG = text ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.float4, RIGHTARG = integer + LEFTARG = eql_v3.timestamp, RIGHTARG = integer ); CREATE OPERATOR - ( FUNCTION = eql_v3."-", - LEFTARG = eql_v3.float4, RIGHTARG = text[] + LEFTARG = eql_v3.timestamp, RIGHTARG = text[] ); CREATE OPERATOR #- ( FUNCTION = eql_v3."#-", - LEFTARG = eql_v3.float4, RIGHTARG = text[] + LEFTARG = eql_v3.timestamp, RIGHTARG = text[] ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.float4, RIGHTARG = eql_v3.float4 + LEFTARG = eql_v3.timestamp, RIGHTARG = eql_v3.timestamp ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = eql_v3.float4, RIGHTARG = jsonb + LEFTARG = eql_v3.timestamp, RIGHTARG = jsonb ); CREATE OPERATOR || ( FUNCTION = eql_v3."||", - LEFTARG = jsonb, RIGHTARG = eql_v3.float4 + LEFTARG = jsonb, RIGHTARG = eql_v3.timestamp ); --! @file v3/sem/ore_block_256/operator_class.sql @@ -28294,7 +28658,7 @@ CREATE OPERATOR CLASS eql_v3.ore_cllw_ops FUNCTION 1 eql_v3.compare_ore_cllw_term(eql_v3.ore_cllw, eql_v3.ore_cllw); --! @file v3/jsonb/aggregates.sql ---! @brief min / max aggregates over eql_v3.ste_vec_entry. +--! @brief min / max aggregates over eql_v3.jsonb_entry. --! --! SteVec document entries extracted at a selector (`doc -> 'sel'`) order by --! their CLLW ORE (`oc`) term, so the extremum is picked by comparing @@ -28318,20 +28682,20 @@ CREATE OPERATOR CLASS eql_v3.ore_cllw_ops --! row is `oc`-less. An all-`oc`-less input has no orderable extremum and --! returns the (arbitrary) STRICT seed. ---! @brief State function for min on eql_v3.ste_vec_entry. +--! @brief State function for min on eql_v3.jsonb_entry. --! --! Keeps whichever orderable entry has the lesser CLLW ORE term. STRICT, so SQL --! NULL entries are skipped by the aggregate machinery; `oc`-less (non-orderable) --! entries are skipped explicitly (see the @note on this file). --! ---! @param state eql_v3.ste_vec_entry Running extremum. ---! @param value eql_v3.ste_vec_entry Candidate entry. ---! @return eql_v3.ste_vec_entry The lesser orderable entry by `ore_cllw`. -CREATE FUNCTION eql_v3.ste_vec_entry_min_sfunc( - state eql_v3.ste_vec_entry, - value eql_v3.ste_vec_entry +--! @param state eql_v3.jsonb_entry Running extremum. +--! @param value eql_v3.jsonb_entry Candidate entry. +--! @return eql_v3.jsonb_entry The lesser orderable entry by `ore_cllw`. +CREATE FUNCTION eql_v3.jsonb_entry_min_sfunc( + state eql_v3.jsonb_entry, + value eql_v3.jsonb_entry ) -RETURNS eql_v3.ste_vec_entry +RETURNS eql_v3.jsonb_entry LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE SET search_path = pg_catalog, extensions, public AS $$ @@ -28352,29 +28716,29 @@ BEGIN END; $$; ---! @brief min aggregate over eql_v3.ste_vec_entry. ---! @param input eql_v3.ste_vec_entry ---! @return eql_v3.ste_vec_entry The entry with the smallest CLLW ORE term. -CREATE AGGREGATE eql_v3.min(eql_v3.ste_vec_entry) ( - sfunc = eql_v3.ste_vec_entry_min_sfunc, - stype = eql_v3.ste_vec_entry, - combinefunc = eql_v3.ste_vec_entry_min_sfunc, +--! @brief min aggregate over eql_v3.jsonb_entry. +--! @param input eql_v3.jsonb_entry +--! @return eql_v3.jsonb_entry The entry with the smallest CLLW ORE term. +CREATE AGGREGATE eql_v3.min(eql_v3.jsonb_entry) ( + sfunc = eql_v3.jsonb_entry_min_sfunc, + stype = eql_v3.jsonb_entry, + combinefunc = eql_v3.jsonb_entry_min_sfunc, parallel = safe ); ---! @brief State function for max on eql_v3.ste_vec_entry. +--! @brief State function for max on eql_v3.jsonb_entry. --! --! Keeps whichever orderable entry has the greater CLLW ORE term. `oc`-less ---! entries are skipped, mirroring `ste_vec_entry_min_sfunc` (see the file @note). +--! entries are skipped, mirroring `jsonb_entry_min_sfunc` (see the file @note). --! ---! @param state eql_v3.ste_vec_entry Running extremum. ---! @param value eql_v3.ste_vec_entry Candidate entry. ---! @return eql_v3.ste_vec_entry The greater orderable entry by `ore_cllw`. -CREATE FUNCTION eql_v3.ste_vec_entry_max_sfunc( - state eql_v3.ste_vec_entry, - value eql_v3.ste_vec_entry +--! @param state eql_v3.jsonb_entry Running extremum. +--! @param value eql_v3.jsonb_entry Candidate entry. +--! @return eql_v3.jsonb_entry The greater orderable entry by `ore_cllw`. +CREATE FUNCTION eql_v3.jsonb_entry_max_sfunc( + state eql_v3.jsonb_entry, + value eql_v3.jsonb_entry ) -RETURNS eql_v3.ste_vec_entry +RETURNS eql_v3.jsonb_entry LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE SET search_path = pg_catalog, extensions, public AS $$ @@ -28395,21 +28759,21 @@ BEGIN END; $$; ---! @brief max aggregate over eql_v3.ste_vec_entry. ---! @param input eql_v3.ste_vec_entry ---! @return eql_v3.ste_vec_entry The entry with the largest CLLW ORE term. -CREATE AGGREGATE eql_v3.max(eql_v3.ste_vec_entry) ( - sfunc = eql_v3.ste_vec_entry_max_sfunc, - stype = eql_v3.ste_vec_entry, - combinefunc = eql_v3.ste_vec_entry_max_sfunc, +--! @brief max aggregate over eql_v3.jsonb_entry. +--! @param input eql_v3.jsonb_entry +--! @return eql_v3.jsonb_entry The entry with the largest CLLW ORE term. +CREATE AGGREGATE eql_v3.max(eql_v3.jsonb_entry) ( + sfunc = eql_v3.jsonb_entry_max_sfunc, + stype = eql_v3.jsonb_entry, + combinefunc = eql_v3.jsonb_entry_max_sfunc, parallel = safe ); --! @file v3/jsonb/operators.sql ---! @brief Operators on eql_v3.json and eql_v3.ste_vec_entry. +--! @brief Operators on eql_v3.json and eql_v3.jsonb_entry. ------------------------------------------------------------------------------ --- -> field accessor (returns ste_vec_entry) +-- -> field accessor (returns jsonb_entry) ------------------------------------------------------------------------------ --! @brief -> operator with text selector. @@ -28431,9 +28795,9 @@ CREATE AGGREGATE eql_v3.max(eql_v3.ste_vec_entry) ( --! --! @param e eql_v3.json Root encrypted payload. --! @param selector text Selector hash. ---! @return eql_v3.ste_vec_entry Matching entry merged with root meta, or NULL. +--! @return eql_v3.jsonb_entry Matching entry merged with root meta, or NULL. CREATE FUNCTION eql_v3."->"(e eql_v3.json, selector text) - RETURNS eql_v3.ste_vec_entry + RETURNS eql_v3.jsonb_entry LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT ( @@ -28443,7 +28807,7 @@ AS $$ '$.sv[*] ? (@.s == $sel)'::jsonpath, jsonb_build_object('sel', selector) ) - )::eql_v3.ste_vec_entry + )::eql_v3.jsonb_entry $$; CREATE OPERATOR ->( @@ -28455,18 +28819,21 @@ CREATE OPERATOR ->( --! @brief -> operator with integer array index (0-based, JSONB convention). --! @param e eql_v3.json Encrypted sv-array payload. --! @param selector integer Array index. ---! @return eql_v3.ste_vec_entry Matching entry merged with root meta, or NULL. +--! @return eql_v3.jsonb_entry Matching entry merged with root meta, or NULL. CREATE FUNCTION eql_v3."->"(e eql_v3.json, selector integer) - RETURNS eql_v3.ste_vec_entry + RETURNS eql_v3.jsonb_entry LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ SELECT CASE WHEN eql_v3.is_ste_vec_array(e) THEN - -- `->(eql_v3.json, text)` operator is already created earlier in - -- this file, so a bare `e -> 'sv'` would resolve to that selector-lookup - -- operator (searching for an sv entry with selector 'sv') instead of - -- native jsonb array access. Casting to jsonb forces native `->`. - (eql_v3.meta_data(e) || (e::jsonb -> 'sv' -> selector))::eql_v3.ste_vec_entry + -- NOTE: `e::jsonb` makes the native-jsonb traversal explicit. `'sv'` is an + -- unknown-typed literal, so `e -> 'sv'` already flattens `eql_v3.json` to + -- its base type and binds native `jsonb -> text` (see the @warning above) — + -- the custom `->(eql_v3.json, text)` operator does NOT capture a bare + -- untyped literal. The cast documents that intent and guards the `-> selector` + -- (integer) hop from ever resolving to the v3 `->(eql_v3.json, integer)` + -- operator instead of native array access. + (eql_v3.meta_data(e) || (e::jsonb -> 'sv' -> selector))::eql_v3.jsonb_entry ELSE NULL END $$; @@ -28484,7 +28851,7 @@ CREATE OPERATOR ->( --! @brief ->> operator with text selector. Inlinable alias of -> coerced to --! text. --! ---! Intentional v2 parity: this serializes the entire matched ste_vec_entry +--! Intentional v2 parity: this serializes the entire matched jsonb_entry --! object as JSON text. It does not decrypt or return scalar plaintext like --! native `jsonb ->>`. --! @param e eql_v3.json Encrypted payload. @@ -28543,15 +28910,15 @@ CREATE OPERATOR @>( RIGHTARG=eql_v3.json ); ---! @brief @> contains operator with an ste_vec_query needle. +--! @brief @> contains operator with an jsonb_query needle. --! --! Inlines to native `jsonb @>` over `eql_v3.to_ste_vec_query(a)::jsonb`, so a --! functional GIN index on the same expression engages. --! --! @param a eql_v3.json Container. ---! @param b eql_v3.ste_vec_query Query payload. +--! @param b eql_v3.jsonb_query Query payload. --! @return boolean True if a contains b. -CREATE FUNCTION eql_v3."@>"(a eql_v3.json, b eql_v3.ste_vec_query) +CREATE FUNCTION eql_v3."@>"(a eql_v3.json, b eql_v3.jsonb_query) RETURNS boolean LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28561,18 +28928,18 @@ $$; CREATE OPERATOR @>( FUNCTION=eql_v3."@>", LEFTARG=eql_v3.json, - RIGHTARG=eql_v3.ste_vec_query + RIGHTARG=eql_v3.jsonb_query ); ---! @brief @> contains operator with a single ste_vec_entry needle. +--! @brief @> contains operator with a single jsonb_entry needle. --! --! Wraps the entry into a single-element sv array (stripping `c`) and reduces --! to the same `to_ste_vec_query(a)::jsonb @> needle::jsonb` form. --! --! @param a eql_v3.json Container. ---! @param b eql_v3.ste_vec_entry Single entry. +--! @param b eql_v3.jsonb_entry Single entry. --! @return boolean True if a contains an sv entry matching b. -CREATE FUNCTION eql_v3."@>"(a eql_v3.json, b eql_v3.ste_vec_entry) +CREATE FUNCTION eql_v3."@>"(a eql_v3.json, b eql_v3.jsonb_entry) RETURNS boolean LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28594,7 +28961,7 @@ $$; CREATE OPERATOR @>( FUNCTION=eql_v3."@>", LEFTARG=eql_v3.json, - RIGHTARG=eql_v3.ste_vec_entry + RIGHTARG=eql_v3.jsonb_entry ); ------------------------------------------------------------------------------ @@ -28618,11 +28985,11 @@ CREATE OPERATOR <@( RIGHTARG=eql_v3.json ); ---! @brief <@ contained-by operator with an ste_vec_query LHS. ---! @param a eql_v3.ste_vec_query Query payload. +--! @brief <@ contained-by operator with an jsonb_query LHS. +--! @param a eql_v3.jsonb_query Query payload. --! @param b eql_v3.json Container. --! @return boolean True if b contains a. -CREATE FUNCTION eql_v3."<@"(a eql_v3.ste_vec_query, b eql_v3.json) +CREATE FUNCTION eql_v3."<@"(a eql_v3.jsonb_query, b eql_v3.json) RETURNS boolean LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28631,15 +28998,15 @@ $$; CREATE OPERATOR <@( FUNCTION=eql_v3."<@", - LEFTARG=eql_v3.ste_vec_query, + LEFTARG=eql_v3.jsonb_query, RIGHTARG=eql_v3.json ); ---! @brief <@ contained-by operator with a ste_vec_entry LHS. ---! @param a eql_v3.ste_vec_entry Single entry. +--! @brief <@ contained-by operator with a jsonb_entry LHS. +--! @param a eql_v3.jsonb_entry Single entry. --! @param b eql_v3.json Container. --! @return boolean True if b contains a. -CREATE FUNCTION eql_v3."<@"(a eql_v3.ste_vec_entry, b eql_v3.json) +CREATE FUNCTION eql_v3."<@"(a eql_v3.jsonb_entry, b eql_v3.json) RETURNS boolean LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28648,20 +29015,20 @@ $$; CREATE OPERATOR <@( FUNCTION=eql_v3."<@", - LEFTARG=eql_v3.ste_vec_entry, + LEFTARG=eql_v3.jsonb_entry, RIGHTARG=eql_v3.json ); ------------------------------------------------------------------------------ --- ste_vec_entry comparisons +-- jsonb_entry comparisons ------------------------------------------------------------------------------ ---! @brief Equality on ste_vec_entry via eq_term (hm-or-oc byte equality). +--! @brief Equality on jsonb_entry via eq_term (hm-or-oc byte equality). --! @internal ---! @param a eql_v3.ste_vec_entry Left operand ---! @param b eql_v3.ste_vec_entry Right operand +--! @param a eql_v3.jsonb_entry Left operand +--! @param b eql_v3.jsonb_entry Right operand --! @return boolean True if the entries are equal -CREATE FUNCTION eql_v3.eq(a eql_v3.ste_vec_entry, b eql_v3.ste_vec_entry) +CREATE FUNCTION eql_v3.eq(a eql_v3.jsonb_entry, b eql_v3.jsonb_entry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28670,20 +29037,20 @@ $$; CREATE OPERATOR = ( FUNCTION = eql_v3.eq, - LEFTARG = eql_v3.ste_vec_entry, - RIGHTARG = eql_v3.ste_vec_entry, + LEFTARG = eql_v3.jsonb_entry, + RIGHTARG = eql_v3.jsonb_entry, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel ); ---! @brief Inequality on ste_vec_entry via eq_term. +--! @brief Inequality on jsonb_entry via eq_term. --! @internal ---! @param a eql_v3.ste_vec_entry Left operand ---! @param b eql_v3.ste_vec_entry Right operand +--! @param a eql_v3.jsonb_entry Left operand +--! @param b eql_v3.jsonb_entry Right operand --! @return boolean True if the entries are not equal -CREATE FUNCTION eql_v3.neq(a eql_v3.ste_vec_entry, b eql_v3.ste_vec_entry) +CREATE FUNCTION eql_v3.neq(a eql_v3.jsonb_entry, b eql_v3.jsonb_entry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28692,20 +29059,20 @@ $$; CREATE OPERATOR <> ( FUNCTION = eql_v3.neq, - LEFTARG = eql_v3.ste_vec_entry, - RIGHTARG = eql_v3.ste_vec_entry, + LEFTARG = eql_v3.jsonb_entry, + RIGHTARG = eql_v3.jsonb_entry, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel ); ---! @brief Less-than on ste_vec_entry via ore_cllw. +--! @brief Less-than on jsonb_entry via ore_cllw. --! @internal ---! @param a eql_v3.ste_vec_entry Left operand ---! @param b eql_v3.ste_vec_entry Right operand +--! @param a eql_v3.jsonb_entry Left operand +--! @param b eql_v3.jsonb_entry Right operand --! @return boolean True if a is less than b -CREATE FUNCTION eql_v3.lt(a eql_v3.ste_vec_entry, b eql_v3.ste_vec_entry) +CREATE FUNCTION eql_v3.lt(a eql_v3.jsonb_entry, b eql_v3.jsonb_entry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28714,20 +29081,20 @@ $$; CREATE OPERATOR < ( FUNCTION = eql_v3.lt, - LEFTARG = eql_v3.ste_vec_entry, - RIGHTARG = eql_v3.ste_vec_entry, + LEFTARG = eql_v3.jsonb_entry, + RIGHTARG = eql_v3.jsonb_entry, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); ---! @brief Less-than-or-equal on ste_vec_entry via ore_cllw. +--! @brief Less-than-or-equal on jsonb_entry via ore_cllw. --! @internal ---! @param a eql_v3.ste_vec_entry Left operand ---! @param b eql_v3.ste_vec_entry Right operand +--! @param a eql_v3.jsonb_entry Left operand +--! @param b eql_v3.jsonb_entry Right operand --! @return boolean True if a is less than or equal to b -CREATE FUNCTION eql_v3.lte(a eql_v3.ste_vec_entry, b eql_v3.ste_vec_entry) +CREATE FUNCTION eql_v3.lte(a eql_v3.jsonb_entry, b eql_v3.jsonb_entry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28736,20 +29103,20 @@ $$; CREATE OPERATOR <= ( FUNCTION = eql_v3.lte, - LEFTARG = eql_v3.ste_vec_entry, - RIGHTARG = eql_v3.ste_vec_entry, + LEFTARG = eql_v3.jsonb_entry, + RIGHTARG = eql_v3.jsonb_entry, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); ---! @brief Greater-than on ste_vec_entry via ore_cllw. +--! @brief Greater-than on jsonb_entry via ore_cllw. --! @internal ---! @param a eql_v3.ste_vec_entry Left operand ---! @param b eql_v3.ste_vec_entry Right operand +--! @param a eql_v3.jsonb_entry Left operand +--! @param b eql_v3.jsonb_entry Right operand --! @return boolean True if a is greater than b -CREATE FUNCTION eql_v3.gt(a eql_v3.ste_vec_entry, b eql_v3.ste_vec_entry) +CREATE FUNCTION eql_v3.gt(a eql_v3.jsonb_entry, b eql_v3.jsonb_entry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28758,20 +29125,20 @@ $$; CREATE OPERATOR > ( FUNCTION = eql_v3.gt, - LEFTARG = eql_v3.ste_vec_entry, - RIGHTARG = eql_v3.ste_vec_entry, + LEFTARG = eql_v3.jsonb_entry, + RIGHTARG = eql_v3.jsonb_entry, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); ---! @brief Greater-than-or-equal on ste_vec_entry via ore_cllw. +--! @brief Greater-than-or-equal on jsonb_entry via ore_cllw. --! @internal ---! @param a eql_v3.ste_vec_entry Left operand ---! @param b eql_v3.ste_vec_entry Right operand +--! @param a eql_v3.jsonb_entry Left operand +--! @param b eql_v3.jsonb_entry Right operand --! @return boolean True if a is greater than or equal to b -CREATE FUNCTION eql_v3.gte(a eql_v3.ste_vec_entry, b eql_v3.ste_vec_entry) +CREATE FUNCTION eql_v3.gte(a eql_v3.jsonb_entry, b eql_v3.jsonb_entry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE AS $$ @@ -28780,8 +29147,8 @@ $$; CREATE OPERATOR >= ( FUNCTION = eql_v3.gte, - LEFTARG = eql_v3.ste_vec_entry, - RIGHTARG = eql_v3.ste_vec_entry, + LEFTARG = eql_v3.jsonb_entry, + RIGHTARG = eql_v3.jsonb_entry, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargesel, @@ -28792,7 +29159,7 @@ CREATE OPERATOR >= ( --! @brief Native-jsonb firewall for eql_v3.json. --! --! eql_v3.json SUPPORTS @> <@ -> ->> (see operators.sql). Comparisons ---! = <> < <= > >= are supported on eql_v3.ste_vec_entry only, not on the root +--! = <> < <= > >= are supported on eql_v3.jsonb_entry only, not on the root --! document domain. --! Every OTHER native jsonb operator reachable via domain fallback against the --! base type jsonb is BLOCKED here so an encrypted column can never silently @@ -29306,3 +29673,105 @@ CREATE OPERATOR <@ ( LEFTARG = jsonb, RIGHTARG = eql_v3.json ); +--! @file pin_search_path_v3.sql +--! @brief Post-install: pin search_path on every eql_v3.* function. +--! +--! Appended verbatim by `tasks/build.sh` to the end of the v3-only release +--! artifact, AFTER all src/v3/**/*.sql files have been concatenated. It lives +--! outside src/ so it stays out of the dependency graph. +--! +--! Iterates over functions in the `eql_v3` schema and applies a fixed +--! `search_path` via `ALTER FUNCTION ... SET search_path = ...`, satisfying +--! Supabase splinter's `function_search_path_mutable` lint. +--! +--! @note A SET clause disables SQL-function inlining. The inline-critical SEM +--! helpers (ore_block_256_*, ore_cllw_*, ore_cllw/has_ore_cllw, +--! hmac_256, bloom_filter over jsonb) and the encrypted-domain family +--! (recognised structurally) are deliberately left unpinned. +--! @see tasks/test/splinter.sh +--! @see tasks/build.sh + +DO $$ +DECLARE + fn_oid oid; + inline_critical_oids oid[]; + jsonb_oid oid; +BEGIN + SELECT t.oid INTO jsonb_oid + FROM pg_catalog.pg_type t + JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace + WHERE n.nspname = 'pg_catalog' AND t.typname = 'jsonb'; + + IF jsonb_oid IS NULL THEN + RAISE EXCEPTION 'pin_search_path_v3: type pg_catalog.jsonb not found'; + END IF; + + -- eql_v3 SEM index-term functions that must stay inlinable for + -- functional-index matching (no SET, IMMUTABLE). Mirrors the eql_v3 clause + -- in the legacy combined pin_search_path.sql. + SELECT pg_catalog.array_agg(p.oid) INTO inline_critical_oids + FROM pg_catalog.pg_proc p + JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace + WHERE n.nspname = 'eql_v3' + AND ( + (p.pronargs = 2 + AND p.proname IN ('ore_block_256_eq', 'ore_block_256_neq', + 'ore_block_256_lt', 'ore_block_256_lte', + 'ore_block_256_gt', 'ore_block_256_gte')) + OR (p.pronargs = 2 + AND p.proname IN ('ore_cllw_eq', 'ore_cllw_neq', + 'ore_cllw_lt', 'ore_cllw_lte', + 'ore_cllw_gt', 'ore_cllw_gte')) + OR (p.pronargs = 1 + AND p.proname IN ('ore_cllw', 'has_ore_cllw') + AND p.proargtypes[0] = jsonb_oid) + OR (p.pronargs = 1 + AND p.proname = 'hmac_256' + AND p.proargtypes[0] = jsonb_oid) + OR (p.pronargs = 1 + AND p.proname = 'bloom_filter' + AND p.proargtypes[0] = jsonb_oid) + ); + + FOR fn_oid IN + SELECT p.oid + FROM pg_catalog.pg_proc p + JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace + WHERE n.nspname = 'eql_v3' + AND p.prokind IN ('f', 'w') + AND NOT EXISTS ( + SELECT 1 FROM pg_catalog.unnest(coalesce(p.proconfig, '{}'::text[])) c + WHERE c LIKE 'search_path=%' + ) + AND NOT (p.oid = ANY (coalesce(inline_critical_oids, '{}'::oid[]))) + -- Encrypted-domain family — structural skip: LANGUAGE sql, IMMUTABLE, + -- taking >=1 argument typed as a jsonb-backed DOMAIN in eql_v3. + AND NOT ( + p.prolang = (SELECT l.oid FROM pg_catalog.pg_language l + WHERE l.lanname = 'sql') + AND p.provolatile = 'i' + AND EXISTS ( + SELECT 1 + FROM pg_catalog.unnest(p.proargtypes::oid[]) AS arg(typ) + JOIN pg_catalog.pg_type dt ON dt.oid = arg.typ + JOIN pg_catalog.pg_namespace dn ON dn.oid = dt.typnamespace + WHERE dt.typtype = 'd' + AND dt.typbasetype = jsonb_oid + AND dn.nspname = 'eql_v3' + ) + ) + -- Comment-marker fallback for hand-written inline-critical extension + -- functions that take no domain argument. + AND NOT EXISTS ( + SELECT 1 FROM pg_catalog.pg_description d + WHERE d.objoid = p.oid + AND d.classoid = 'pg_catalog.pg_proc'::regclass + AND d.description LIKE 'eql-inline-critical%' + ) + LOOP + EXECUTE pg_catalog.format( + 'ALTER FUNCTION %s SET search_path = pg_catalog, extensions, public', + fn_oid::regprocedure + ); + END LOOP; +END $$; diff --git a/packages/stack/__tests__/helpers/eql-v3.ts b/packages/stack/__tests__/helpers/eql-v3.ts index ee388161..ab9e4f57 100644 --- a/packages/stack/__tests__/helpers/eql-v3.ts +++ b/packages/stack/__tests__/helpers/eql-v3.ts @@ -11,16 +11,23 @@ const eqlV3SqlPath = resolve( '../fixtures/eql-v3/cipherstash-encrypt-v3.sql', ) -async function hasEqlV3TextSearch(sql: postgres.Sql): Promise { +// The sentinel must be a type that exists ONLY in the currently vendored +// bundle, so a database still carrying an older EQL v3 install is detected as +// stale and reinstalled (the bundle's leading DROP SCHEMA … CASCADE replaces +// the old install wholesale). eql_v3.timestamp is new in the current bundle +// (the timestamptz → timestamp rename, encrypt-query-language@2e64ca73); the +// previous sentinel, eql_v3.text_search, exists in both generations and would +// leave a stale install in place. +async function hasCurrentEqlV3(sql: postgres.Sql): Promise { const [row] = await sql<{ installed: boolean }[]>` - SELECT to_regtype('eql_v3.text_search') IS NOT NULL AS installed + SELECT to_regtype('eql_v3.timestamp') IS NOT NULL AS installed ` return row?.installed ?? false } /** * Install the generated EQL v3 SQL bundle only when the target database does - * not already expose eql_v3.text_search. + * not already expose the current bundle's sentinel type (see hasCurrentEqlV3). * * The bundle starts with DROP SCHEMA IF EXISTS eql_v3 CASCADE, so callers must * never run it unconditionally against a shared test database. @@ -36,13 +43,13 @@ export async function installEqlV3IfNeeded(sql: postgres.Sql): Promise { await reserved`SELECT pg_advisory_lock(${EQL_V3_ADVISORY_LOCK_ID})` try { - if (await hasEqlV3TextSearch(reserved)) return + if (await hasCurrentEqlV3(reserved)) return const eqlV3Sql = await readFile(eqlV3SqlPath, 'utf8') await reserved.unsafe(eqlV3Sql) - if (!(await hasEqlV3TextSearch(reserved))) { - throw new Error('EQL v3 installation did not create eql_v3.text_search') + if (!(await hasCurrentEqlV3(reserved))) { + throw new Error('EQL v3 installation did not create eql_v3.timestamp') } } finally { await reserved`SELECT pg_advisory_unlock(${EQL_V3_ADVISORY_LOCK_ID})` diff --git a/packages/stack/__tests__/schema-v3-client.test.ts b/packages/stack/__tests__/schema-v3-client.test.ts index 247f9d98..0a70f71d 100644 --- a/packages/stack/__tests__/schema-v3-client.test.ts +++ b/packages/stack/__tests__/schema-v3-client.test.ts @@ -17,7 +17,7 @@ const users = encryptedTable('schema_v3_client_users', { // match models by JS property (`createdOn`) yet address the FFI/config by DB // name (`created_on`). The round-trip tests below exercise that mapping. createdOn: types.Date('created_on'), - occurredAt: types.Timestamptz('occurred_at'), + occurredAt: types.Timestamp('occurred_at'), }) const LIVE_CIPHERSTASH_ENABLED = Boolean( @@ -227,22 +227,18 @@ describeLive('eql_v3 client integration', () => { expect(decrypted.notes).toBe('hello') }, 30000) - // Hygiene: `occurredAt` (a timestamptz column, camelCase property → + // Hygiene: `occurredAt` (a timestamp column, camelCase property → // snake_case DB name `occurred_at`) was declared in the test table but never // asserted. Give it a real round-trip through the model path, complementing // the `createdOn` date case above. (`matrix-live.test.ts` is the canonical - // generic coverage for all timestamptz tiers; this pins the named column.) + // generic coverage for all timestamp tiers; this pins the named column.) // - // SKIPPED (CI run 28569708268, PR #540): fails against live credentials — - // decrypted `occurredAt` comes back at midnight (`00:00:00.000Z`), losing - // the time-of-day. Root cause: `@cipherstash/protect-ffi`'s native - // `CastAs` has a distinct `'timestamp'` variant (full date+time) separate - // from `'date'` (calendar-date only), but this SDK's `CastAs`/`PlaintextKind` - // types never included `'timestamp'` — every `timestamptz` domain sets - // `cast_as: 'date'`, identical to the plain `date` domain, so the native - // layer truncates it. Pre-existing SDK gap, not a test bug; re-enable once - // `timestamptz` gets its own native cast_as. - it.skip('round-trips a timestamptz occurredAt column through the model path', async () => { + // Time-of-day preservation: every `timestamp` domain now sets + // `cast_as: 'timestamp'` (distinct from `'date'`), so the native FFI keeps the + // full instant instead of truncating to midnight. This test pins that — a + // ms-zeroed `12:34:56` value must round-trip exactly. (Was skipped while every + // timestamp domain wrongly set `cast_as: 'date'`; re-enabled with that fix.) + it('round-trips a timestamp occurredAt column through the model path', async () => { const typed = typedClient(protectClient, users) // Zero milliseconds: the FFI drops sub-second precision, so a ms-bearing // instant would perturb the reconstructed value. diff --git a/packages/stack/__tests__/schema-v3.test-d.ts b/packages/stack/__tests__/schema-v3.test-d.ts index 4ddeadee..f3eabee0 100644 --- a/packages/stack/__tests__/schema-v3.test-d.ts +++ b/packages/stack/__tests__/schema-v3.test-d.ts @@ -58,7 +58,7 @@ describe('eql_v3 schema type inference', () => { name: types.Text('name'), age: types.Int4('age'), active: types.Bool('active'), - createdAt: types.Timestamptz('created_at'), + createdAt: types.Timestamp('created_at'), score: types.Float8('score'), }) @@ -166,7 +166,7 @@ describe('eql_v3 client integration (type-level acceptance)', () => { emailEq: types.TextEq('email_eq'), emailMatch: types.TextMatch('email_match'), emailSearch: types.TextSearch('email_search'), - createdAt: types.TimestamptzOrd('created_at'), + createdAt: types.TimestampOrd('created_at'), }) const client = {} as EncryptionClient @@ -297,7 +297,7 @@ describe('eql_v3 model encryption inference', () => { // ('occurredAt'). Model inference keys off the PROPERTY name, so `occurredAt` // must become `Encrypted` while unrelated fields are preserved verbatim. const events = encryptedTable('events', { - occurredAt: types.Timestamptz('created_at'), + occurredAt: types.Timestamp('created_at'), }) const client = {} as EncryptionClient diff --git a/packages/stack/__tests__/schema-v3.test.ts b/packages/stack/__tests__/schema-v3.test.ts index d44b5f09..746dc6a8 100644 --- a/packages/stack/__tests__/schema-v3.test.ts +++ b/packages/stack/__tests__/schema-v3.test.ts @@ -280,7 +280,7 @@ describe('eql_v3 buildEncryptConfig', () => { // report "column not found in Encrypt config" at encrypt time. const users = encryptedTable('accounts', { createdOn: types.Date('created_on'), - lastSeen: types.Timestamptz('last_seen'), + lastSeen: types.Timestamp('last_seen'), }) const config = buildEncryptConfig(users) expect(Object.keys(config.tables.accounts).sort()).toEqual([ @@ -297,7 +297,7 @@ describe('eql_v3 buildEncryptConfig', () => { // (it keys by DB name); `buildColumnKeyMap()` recovers it. const users = encryptedTable('accounts', { createdOn: types.Date('created_on'), - lastSeen: types.Timestamptz('last_seen'), + lastSeen: types.Timestamp('last_seen'), email: types.TextSearch('email'), }) expect(users.buildColumnKeyMap()).toEqual({ @@ -458,3 +458,22 @@ describe('eql_v3 text order domains carry the hm (unique) index (regression)', ( }) }) }) + +describe('eql_v3 timestamp domains emit cast_as "timestamp" (time-of-day preserved)', () => { + // The FFI has a distinct `timestamp` cast (full date+time) separate from + // `date` (calendar-date only). Every timestamp domain must emit + // `cast_as: 'timestamp'` so the native layer keeps the time-of-day instead of + // truncating to midnight (see schema-v3-client occurredAt round-trip). + it.each([ + ['timestamp', types.Timestamp], + ['timestamp_eq', types.TimestampEq], + ['timestamp_ord_ore', types.TimestampOrdOre], + ['timestamp_ord', types.TimestampOrd], + ] as const)('%s emits cast_as "timestamp"', (_name, builder) => { + expect(builder('c').build().cast_as).toBe('timestamp') + }) + + it('the plain date domain still emits cast_as "date"', () => { + expect(types.Date('c').build().cast_as).toBe('date') + }) +}) diff --git a/packages/stack/__tests__/typed-client-v3.test-d.ts b/packages/stack/__tests__/typed-client-v3.test-d.ts index 2af6af37..2275ebce 100644 --- a/packages/stack/__tests__/typed-client-v3.test-d.ts +++ b/packages/stack/__tests__/typed-client-v3.test-d.ts @@ -16,7 +16,7 @@ const users = encryptedTable('users', { email: types.TextEq('email'), // equality only bio: types.TextSearch('bio'), // equality + order + free-text note: types.Text('note'), // storage only (not queryable) - createdAt: types.TimestamptzOrd('created_at'), // equality + order + createdAt: types.TimestampOrd('created_at'), // equality + order }) // A second registered table whose `weight` domain (int4_ord) is NOT present in @@ -78,7 +78,7 @@ describe('typed v3 client — encryptQuery constrains queryType to capabilities' client.encryptQuery(new Date(), { table: users, column: users.createdAt, // equality + order, no free-text - // @ts-expect-error - timestamptz_ord column does not support 'freeTextSearch' + // @ts-expect-error - timestamp_ord column does not support 'freeTextSearch' queryType: 'freeTextSearch', }) }) @@ -127,7 +127,7 @@ describe('typed v3 client — model encrypt validates schema fields', () => { describe('typed v3 client — model decrypt yields precise plaintext', () => { it('reconstructs schema columns to their plaintext type regardless of the input field type', () => { // Input is the encrypted row; output pins each schema column to its plaintext - // type (Date for timestamptz, string for text). + // type (Date for timestamp, string for text). expectTypeOf< V3DecryptedModel< typeof users, diff --git a/packages/stack/__tests__/typed-client-v3.test.ts b/packages/stack/__tests__/typed-client-v3.test.ts index a3e60526..c605cdec 100644 --- a/packages/stack/__tests__/typed-client-v3.test.ts +++ b/packages/stack/__tests__/typed-client-v3.test.ts @@ -3,7 +3,7 @@ import type { EncryptionClient } from '@/encryption' import { encryptedTable, typedClient, types } from '@/encryption/v3' const table = encryptedTable('t', { - when: types.Timestamptz('when'), + when: types.Timestamp('when'), note: types.Text('note'), // camelCase JS property → snake_case DB name: reconstruction must key by the // JS property (how the decrypted row is keyed), not the DB column name. diff --git a/packages/stack/__tests__/v3-matrix/catalog.ts b/packages/stack/__tests__/v3-matrix/catalog.ts index ce5b97f2..6421397b 100644 --- a/packages/stack/__tests__/v3-matrix/catalog.ts +++ b/packages/stack/__tests__/v3-matrix/catalog.ts @@ -54,10 +54,10 @@ import { EncryptedTextOrdColumn, EncryptedTextOrdOreColumn, EncryptedTextSearchColumn, - EncryptedTimestamptzColumn, - EncryptedTimestamptzEqColumn, - EncryptedTimestamptzOrdColumn, - EncryptedTimestamptzOrdOreColumn, + EncryptedTimestampColumn, + EncryptedTimestampEqColumn, + EncryptedTimestampOrdColumn, + EncryptedTimestampOrdOreColumn, types, } from '@/eql/v3' import type { ColumnSchema } from '@/schema' @@ -208,11 +208,11 @@ export const V3_MATRIX = { 'eql_v3.date_eq': { builder: types.DateEq, ColumnClass: EncryptedDateEqColumn, castAs: 'date', capabilities: EQ, indexes: UNIQUE_IDX, samples: DATE_S }, 'eql_v3.date_ord_ore': { builder: types.DateOrdOre, ColumnClass: EncryptedDateOrdOreColumn, castAs: 'date', capabilities: ORD, indexes: ORE_IDX, samples: DATE_S }, 'eql_v3.date_ord': { builder: types.DateOrd, ColumnClass: EncryptedDateOrdColumn, castAs: 'date', capabilities: ORD, indexes: ORE_IDX, samples: DATE_S }, - // timestamptz - 'eql_v3.timestamptz': { builder: types.Timestamptz, ColumnClass: EncryptedTimestamptzColumn, castAs: 'date', capabilities: STORAGE, indexes: NONE, samples: DATE_S }, - 'eql_v3.timestamptz_eq': { builder: types.TimestamptzEq, ColumnClass: EncryptedTimestamptzEqColumn, castAs: 'date', capabilities: EQ, indexes: UNIQUE_IDX, samples: DATE_S }, - 'eql_v3.timestamptz_ord_ore': { builder: types.TimestamptzOrdOre, ColumnClass: EncryptedTimestamptzOrdOreColumn, castAs: 'date', capabilities: ORD, indexes: ORE_IDX, samples: DATE_S }, - 'eql_v3.timestamptz_ord': { builder: types.TimestamptzOrd, ColumnClass: EncryptedTimestamptzOrdColumn, castAs: 'date', capabilities: ORD, indexes: ORE_IDX, samples: DATE_S }, + // timestamp + 'eql_v3.timestamp': { builder: types.Timestamp, ColumnClass: EncryptedTimestampColumn, castAs: 'timestamp', capabilities: STORAGE, indexes: NONE, samples: DATE_S }, + 'eql_v3.timestamp_eq': { builder: types.TimestampEq, ColumnClass: EncryptedTimestampEqColumn, castAs: 'timestamp', capabilities: EQ, indexes: UNIQUE_IDX, samples: DATE_S }, + 'eql_v3.timestamp_ord_ore': { builder: types.TimestampOrdOre, ColumnClass: EncryptedTimestampOrdOreColumn, castAs: 'timestamp', capabilities: ORD, indexes: ORE_IDX, samples: DATE_S }, + 'eql_v3.timestamp_ord': { builder: types.TimestampOrd, ColumnClass: EncryptedTimestampOrdColumn, castAs: 'timestamp', capabilities: ORD, indexes: ORE_IDX, samples: DATE_S }, // numeric 'eql_v3.numeric': { builder: types.Numeric, ColumnClass: EncryptedNumericColumn, castAs: 'number', capabilities: STORAGE, indexes: NONE, samples: NUMERIC_S, errorSamples: NUM_ERR }, 'eql_v3.numeric_eq': { builder: types.NumericEq, ColumnClass: EncryptedNumericEqColumn, castAs: 'number', capabilities: EQ, indexes: UNIQUE_IDX, samples: NUMERIC_S, errorSamples: NUM_ERR }, diff --git a/packages/stack/__tests__/v3-matrix/matrix.test-d.ts b/packages/stack/__tests__/v3-matrix/matrix.test-d.ts index 5a6e7c02..324cd960 100644 --- a/packages/stack/__tests__/v3-matrix/matrix.test-d.ts +++ b/packages/stack/__tests__/v3-matrix/matrix.test-d.ts @@ -25,7 +25,7 @@ const records = encryptedTable('records', { count: V3_MATRIX['eql_v3.int4'].builder('count'), // number, storage-only score: V3_MATRIX['eql_v3.int4_eq'].builder('score'), // number, equality rank: V3_MATRIX['eql_v3.int4_ord'].builder('rank'), // number, order + range - createdAt: V3_MATRIX['eql_v3.timestamptz_ord'].builder('created_at'), // date + createdAt: V3_MATRIX['eql_v3.timestamp_ord'].builder('created_at'), // date email: V3_MATRIX['eql_v3.text_search'].builder('email'), // string, full-text active: V3_MATRIX['eql_v3.bool'].builder('active'), // boolean, storage-only }) diff --git a/packages/stack/scripts/install-eql-v3.ts b/packages/stack/scripts/install-eql-v3.ts index e55eba79..c94f65b6 100644 --- a/packages/stack/scripts/install-eql-v3.ts +++ b/packages/stack/scripts/install-eql-v3.ts @@ -21,7 +21,7 @@ const sql = postgres(process.env.DATABASE_URL, { prepare: false }) try { await installEqlV3IfNeeded(sql) - console.log('eql_v3.text_search is installed') + console.log('eql_v3 (current bundle) is installed') } finally { await sql.end() } diff --git a/packages/stack/src/encryption/v3.ts b/packages/stack/src/encryption/v3.ts index ae8e667c..3f22e84b 100644 --- a/packages/stack/src/encryption/v3.ts +++ b/packages/stack/src/encryption/v3.ts @@ -37,7 +37,7 @@ import { * Every method derives its types from the concrete `table` / `column` builder * arguments (which carry their branded types at the call site), so: * - `encrypt` / `encryptQuery` pin the plaintext to the column's domain type - * (`text → string`, `timestamptz → Date`, …); + * (`text → string`, `timestamp → Date`, …); * - `encryptQuery` additionally constrains `queryType` to the column's * capabilities and rejects storage-only columns outright; * - `encryptModel` / `bulkEncryptModels` validate schema-column fields against @@ -138,7 +138,8 @@ function reconstructRow( for (const [property, dbName] of Object.entries(propToDb)) { const value = out[property] if (value == null) continue - if (columns[dbName]?.cast_as === 'date') { + const castAs = columns[dbName]?.cast_as + if (castAs === 'date' || castAs === 'timestamp') { out[property] = new Date(value as string | number | Date) } } diff --git a/packages/stack/src/eql/v3/columns.ts b/packages/stack/src/eql/v3/columns.ts index 1172a555..15c62308 100644 --- a/packages/stack/src/eql/v3/columns.ts +++ b/packages/stack/src/eql/v3/columns.ts @@ -17,8 +17,10 @@ export type QueryCapabilities = Readonly<{ }> /** The plaintext (TypeScript) kind a v3 domain decrypts to. A subset of the - * SDK `CastAs` enum, restricted to the scalar kinds v3 domains actually use. */ -type PlaintextKind = 'string' | 'number' | 'boolean' | 'date' + * SDK `CastAs` enum, restricted to the scalar kinds v3 domains actually use. + * `timestamp` decrypts to `Date` just like `date`, but carries the full instant + * (its `cast_as` tells the FFI not to truncate the time-of-day). */ +type PlaintextKind = 'string' | 'number' | 'boolean' | 'date' | 'timestamp' /** * The full, literal definition of a v3 domain. This is the LOAD-BEARING type: @@ -158,24 +160,24 @@ export const DATE_ORD = { capabilities: ORDER_AND_RANGE, } as const -export const TIMESTAMPTZ = { - eqlType: 'eql_v3.timestamptz', - castAs: 'date', +export const TIMESTAMP = { + eqlType: 'eql_v3.timestamp', + castAs: 'timestamp', capabilities: STORAGE_ONLY, } as const -export const TIMESTAMPTZ_EQ = { - eqlType: 'eql_v3.timestamptz_eq', - castAs: 'date', +export const TIMESTAMP_EQ = { + eqlType: 'eql_v3.timestamp_eq', + castAs: 'timestamp', capabilities: EQUALITY_ONLY, } as const -export const TIMESTAMPTZ_ORD_ORE = { - eqlType: 'eql_v3.timestamptz_ord_ore', - castAs: 'date', +export const TIMESTAMP_ORD_ORE = { + eqlType: 'eql_v3.timestamp_ord_ore', + castAs: 'timestamp', capabilities: ORDER_AND_RANGE, } as const -export const TIMESTAMPTZ_ORD = { - eqlType: 'eql_v3.timestamptz_ord', - castAs: 'date', +export const TIMESTAMP_ORD = { + eqlType: 'eql_v3.timestamp_ord', + castAs: 'timestamp', capabilities: ORDER_AND_RANGE, } as const @@ -544,18 +546,18 @@ export class EncryptedDateOrdColumn extends EncryptedV3Column< typeof DATE_ORD > {} -// timestamptz -export class EncryptedTimestamptzColumn extends EncryptedV3Column< - typeof TIMESTAMPTZ +// timestamp +export class EncryptedTimestampColumn extends EncryptedV3Column< + typeof TIMESTAMP > {} -export class EncryptedTimestamptzEqColumn extends EncryptedV3Column< - typeof TIMESTAMPTZ_EQ +export class EncryptedTimestampEqColumn extends EncryptedV3Column< + typeof TIMESTAMP_EQ > {} -export class EncryptedTimestamptzOrdOreColumn extends EncryptedV3Column< - typeof TIMESTAMPTZ_ORD_ORE +export class EncryptedTimestampOrdOreColumn extends EncryptedV3Column< + typeof TIMESTAMP_ORD_ORE > {} -export class EncryptedTimestamptzOrdColumn extends EncryptedV3Column< - typeof TIMESTAMPTZ_ORD +export class EncryptedTimestampOrdColumn extends EncryptedV3Column< + typeof TIMESTAMP_ORD > {} // numeric @@ -627,10 +629,10 @@ export type AnyEncryptedV3Column = | EncryptedDateEqColumn | EncryptedDateOrdOreColumn | EncryptedDateOrdColumn - | EncryptedTimestamptzColumn - | EncryptedTimestamptzEqColumn - | EncryptedTimestamptzOrdOreColumn - | EncryptedTimestamptzOrdColumn + | EncryptedTimestampColumn + | EncryptedTimestampEqColumn + | EncryptedTimestampOrdOreColumn + | EncryptedTimestampOrdColumn | EncryptedNumericColumn | EncryptedNumericEqColumn | EncryptedNumericOrdOreColumn @@ -666,7 +668,7 @@ type PlaintextFromKind = K extends 'string' ? number : K extends 'boolean' ? boolean - : K extends 'date' + : K extends 'date' | 'timestamp' ? Date : never diff --git a/packages/stack/src/eql/v3/index.ts b/packages/stack/src/eql/v3/index.ts index 629a2d2c..417b2f6d 100644 --- a/packages/stack/src/eql/v3/index.ts +++ b/packages/stack/src/eql/v3/index.ts @@ -49,10 +49,10 @@ export { EncryptedTextOrdColumn, EncryptedTextOrdOreColumn, EncryptedTextSearchColumn, - EncryptedTimestamptzColumn, - EncryptedTimestamptzEqColumn, - EncryptedTimestamptzOrdColumn, - EncryptedTimestamptzOrdOreColumn, + EncryptedTimestampColumn, + EncryptedTimestampEqColumn, + EncryptedTimestampOrdColumn, + EncryptedTimestampOrdOreColumn, TEXT_SEARCH_EQL_TYPE, } from './columns' export type { diff --git a/packages/stack/src/eql/v3/types.ts b/packages/stack/src/eql/v3/types.ts index 067e0c6f..b8f4ed13 100644 --- a/packages/stack/src/eql/v3/types.ts +++ b/packages/stack/src/eql/v3/types.ts @@ -35,10 +35,10 @@ import { EncryptedTextOrdColumn, EncryptedTextOrdOreColumn, EncryptedTextSearchColumn, - EncryptedTimestamptzColumn, - EncryptedTimestamptzEqColumn, - EncryptedTimestamptzOrdColumn, - EncryptedTimestamptzOrdOreColumn, + EncryptedTimestampColumn, + EncryptedTimestampEqColumn, + EncryptedTimestampOrdColumn, + EncryptedTimestampOrdOreColumn, FLOAT4, FLOAT4_EQ, FLOAT4_ORD, @@ -64,10 +64,10 @@ import { TEXT_MATCH, TEXT_ORD, TEXT_ORD_ORE, - TIMESTAMPTZ, - TIMESTAMPTZ_EQ, - TIMESTAMPTZ_ORD, - TIMESTAMPTZ_ORD_ORE, + TIMESTAMP, + TIMESTAMP_EQ, + TIMESTAMP_ORD, + TIMESTAMP_ORD_ORE, } from './columns' /** @@ -75,7 +75,7 @@ import { * EQL v3 column; the member name mirrors the underlying `eql_v3.` domain * (strip the `eql_v3.` prefix, PascalCase each `_`-separated segment). So * `types.TextEq('actor')` builds an `eql_v3.text_eq` column, `types.Int4Ord` - * an `eql_v3.int4_ord`, `types.Timestamptz` an `eql_v3.timestamptz`, and so on. + * an `eql_v3.int4_ord`, `types.Timestamp` an `eql_v3.timestamp`, and so on. * * Each factory returns the CONCRETE column class instance (never the widened * `AnyEncryptedV3Column`) so per-column plaintext / query-capability inference @@ -87,7 +87,7 @@ import { * const events = encryptedTable('events', { * actor: types.TextEq('actor'), // equality * weight: types.Int4Ord('weight'), // order + range - * createdAt: types.Timestamptz('created_at'), // storage only + * createdAt: types.Timestamp('created_at'), // storage only * }) * ``` * @@ -118,15 +118,14 @@ export const types = { new EncryptedDateOrdOreColumn(name, DATE_ORD_ORE), DateOrd: (name: string) => new EncryptedDateOrdColumn(name, DATE_ORD), - // timestamptz - Timestamptz: (name: string) => - new EncryptedTimestamptzColumn(name, TIMESTAMPTZ), - TimestamptzEq: (name: string) => - new EncryptedTimestamptzEqColumn(name, TIMESTAMPTZ_EQ), - TimestamptzOrdOre: (name: string) => - new EncryptedTimestamptzOrdOreColumn(name, TIMESTAMPTZ_ORD_ORE), - TimestamptzOrd: (name: string) => - new EncryptedTimestamptzOrdColumn(name, TIMESTAMPTZ_ORD), + // timestamp + Timestamp: (name: string) => new EncryptedTimestampColumn(name, TIMESTAMP), + TimestampEq: (name: string) => + new EncryptedTimestampEqColumn(name, TIMESTAMP_EQ), + TimestampOrdOre: (name: string) => + new EncryptedTimestampOrdOreColumn(name, TIMESTAMP_ORD_ORE), + TimestampOrd: (name: string) => + new EncryptedTimestampOrdColumn(name, TIMESTAMP_ORD), // numeric Numeric: (name: string) => new EncryptedNumericColumn(name, NUMERIC), diff --git a/packages/stack/src/schema/index.ts b/packages/stack/src/schema/index.ts index 01058cc6..7e02dc37 100644 --- a/packages/stack/src/schema/index.ts +++ b/packages/stack/src/schema/index.ts @@ -37,15 +37,29 @@ export const eqlCastAsEnum = z 'double', 'boolean', 'date', + 'timestamp', 'jsonb', ]) .default('text') /** * SDK-facing data types — developer-friendly aliases accepted by `dataType()`. + * + * `timestamp` is distinct from `date`: `date` is calendar-date only (time-of-day + * truncated to midnight), while `timestamp` preserves the full date+time. v3 + * `timestamp` domains set `cast_as: 'timestamp'` so the FFI keeps the instant. */ export const castAsEnum = z - .enum(['bigint', 'boolean', 'date', 'number', 'string', 'json', 'text']) + .enum([ + 'bigint', + 'boolean', + 'date', + 'timestamp', + 'number', + 'string', + 'json', + 'text', + ]) .default('text') /** @@ -68,6 +82,8 @@ export function toEqlCastAs(value: CastAs): EqlCastAs { return 'boolean' case 'date': return 'date' + case 'timestamp': + return 'timestamp' case 'json': return 'jsonb' }