pipework 0.263.0 → 0.264.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.264.0
4
+
5
+ - **Added: `pipe.fn` arguments can be a column or a SQL expression of the declared type** (#928). An argument was typed as a bound value only, though a column or SQL argument was already embedded as SQL at runtime, so passing a column needed `as unknown as` casts. Each argument is now a value, a `SQL<T>`, or a column whose data type is `T`; a column or SQL of another type is a compile error, and a nullable column only fits a nullable argument. This lets an array column be unnested into a set once per statement, which Postgres can hash: `inArray(t.id, db.select({ id: u.unnest }).from(src).crossJoinLateral(unnestUuids(src.arr)))`. `uuid` and `text` fields are both `string`, so a `text[]` column still fits a `uuid().array()` argument, as a string value already did.
6
+
7
+ ## 0.263.1
8
+
9
+ - **Fixed: long lists in `filter.inList`, `filter.notInList` and `sql.inList` no longer walk the list for every row** (#926). Postgres hashes `= ANY` only when the array is a constant at plan time and both sides share a hash function, so a reused generic plan, or an integer list with no `cast` against an `int` column, went from milliseconds to over 30 seconds. Above 100 values `filter.inList` now renders `IN (SELECT unnest((SELECT $1::T[])))` and `filter.notInList` `NOT IN` of the same, hashed under any plan, at any length tested (400,000 values) and across integer types. Up to 100 values they keep `= ANY` and `<> ALL`, so short lists keep index conditions, partition pruning and estimates. `sql.inList` rendered `= ANY(ARRAY(SELECT ...))`, which was never hashed; it now renders `IN (SELECT ...)` at every length, in the same position after the column. `mail.unsubscribedAmong` uses it. No API change; the docs now say when hashing applies.
10
+
3
11
  ## 0.263.0
4
12
 
5
13
  - **Added: `define(..., { auditEntityId: 'hashed' })` keeps personal keys out of `audit_record.entity_id`** (#923). An audited write to such a table stores the lowercase hex SHA-256 of the key text (the single key, or the composite key's JSON array) instead of the key; `audit.entityId(table, row)` returns the same hash, so `audit.query({ entity, entityId })` still finds one row's history. Pipework's own tables keyed by an address, an IP or a code are declared hashed: `pipework_email_unsubscribes` (an unsubscribe no longer writes the address into the audit row), `pipework_email_suppressions`, `pipework_signin_attempts`, `pipework_email_link_requests`, `pipework_rate_limit_counts`, `access_link_code`, `access_link_miss` and `access_link_check_spent`. Audit rows already written are not rewritten (the hash chain covers `entity_id`).
package/REFERENCE.md CHANGED
@@ -810,7 +810,7 @@ Expression helpers for `.set()`, `.values()` and `.where()` (a string or number
810
810
  - `filter.arrayAt(arr, n)` — `(arr)[n]`, 1-based; negative `n` is `(arr)[cardinality(arr) + n + 1]`; NULL for 0, out of range or `'{}'`. Typed from the column (`uuid[]` gives `SQL<string | null>`); `n` must be an integer or it throws.
811
811
  - `filter.cardinality(arr)`, `filter.arrayPosition(col, value)` (`array_position`, NULL when absent), `filter.arraySlice(col, from, to)` (`(col)[from:to]`), `filter.arrayToString(arr, delimiter)`, `filter.arrayAppend(col, value)` and `filter.arrayRemove(col, value)` (for `.set()`). Values are bound and cast to the column's element type.
812
812
  - `filter.concat(...parts)` — `(p1 || p2 || ...)`, at least two parts, each a string, column or expression (`scalar(...)` for a subquery). A null part makes the result null; wrap it in `coalesce` if not wanted.
813
- - `pipe.sql.inList(values, cast?)` — list match for a JS list: `` sql`id ${sql.inList(ids, 'uuid')}` `` renders `= ANY(...)`, so an empty list matches nothing; never build `IN (${sql.join(...)})`, which is a syntax error when the list is empty. `cast` is the element type, default `text`.
813
+ - `pipe.sql.inList(values, cast?)` — list match for a JS list: `` sql`id ${sql.inList(ids, 'uuid')}` `` renders `IN (SELECT ...)` over the list, which Postgres hashes under any plan and across integer types, and an empty list matches nothing; never build `IN (${sql.join(...)})`, which is a syntax error when the list is empty. `cast` is the element type, default `text`.
814
814
  - `filter.arrayReplace(col, from, to)` — `array_replace`, every `from` becomes `to`; `filter.arrayHas(col, value)` — `$value = ANY(col)`. `col` must be an array column; a JS value is bound and cast to its element type. `value` may also be a column or SQL expression of the element type: it renders `<value> = ANY(col)` with no bind or cast, so a join on `filter.arrayHas(f.memberIds, m.id)` can use `m.id`'s index.
815
815
  - `filter.jsonbMerge(col, object)` — same as `jsonb.merge`.
816
816
  - `filter.jsonbRemove(col, ...keys)` — same as `jsonb.remove`.
@@ -818,8 +818,8 @@ Expression helpers for `.set()`, `.values()` and `.where()` (a string or number
818
818
  **`filter.arrayAny(source, test)`** — true when some element of the array satisfies the test: `EXISTS (SELECT 1 FROM unnest(<source>) AS pw_el_<n>(v) WHERE <test>)`. False for an empty array. To test a column's value against an array column so its index can be used, use `filter.arrayHas(arrayCol, col)`.
819
819
  **`filter.arrayAll(source, test)`** — true when every element satisfies the test: `NOT EXISTS (SELECT 1 FROM unnest(<source>) AS pw_el_<n>(v) WHERE NOT (<test>))`. True for an empty array; a null element passes when the test on it is null (SQL three-valued logic).
820
820
 
821
- **`filter.inList(expr, values, cast?)`** — `<expr> = ANY($1::text[])`: a JS `string[]` / `number[]` bound as one array parameter whatever its length, hashed by Postgres, so it works past `inArray`'s 65,535-parameter limit. Empty list is `false` (no parameter). Strings bind as `text`, integers as `bigint`, other numbers as `numeric`; pass `cast` (`'uuid'`, `'int'`) for other columns: `filter.inList(t.id, ids, 'uuid')`. Mixed types, null, NaN or a bad cast throw.
822
- **`filter.notInList(expr, values, cast?)`** — `<expr> <> ALL($1::text[])`, same binding and `cast`; empty list is `true`.
821
+ **`filter.inList(expr, values, cast?)`** — a JS `string[]` / `number[]` bound as one array parameter whatever its length. Up to 100 values render `<expr> = ANY($1::text[])`; longer lists render `<expr> IN (SELECT unnest((SELECT $1::text[])))`, which stays hashed under any plan and across integer types (`filter.notInList` renders `<> ALL` and `NOT IN` the same way). It works past `inArray`'s 65,535-parameter limit. Empty list is `false` (no parameter). Strings bind as `text`, integers as `bigint`, other numbers as `numeric`; pass `cast` (`'uuid'`, `'int'`) for other columns: `filter.inList(t.id, ids, 'uuid')`. Mixed types, null, NaN or a bad cast throw.
822
+ **`filter.notInList(expr, values, cast?)`** — `<expr> <> ALL($1::text[])` up to 100 values, `<expr> NOT IN (SELECT unnest((SELECT $1::text[])))` above, same binding and `cast`; a NULL `expr` is not returned in either form; empty list is `true`.
823
823
 
824
824
  `source` is an array column, an `SQL` array expression, a JS `string[]` (bound as one parameter cast `::text[]`, also when empty) or `number[]` (`::numeric[]`), or `filter.jsonbElements(jsonbColumnOrSql)` for a jsonb array (`jsonb_array_elements_text`, elements as text). `test` receives the element as a typed `SQL` (column `text[]` gives `SQL<string>`). Aliases are unique per call, so calls nest.
825
825
 
@@ -901,7 +901,7 @@ Produces a typed VALUES clause for bulk operations — the base primitive for bu
901
901
 
902
902
  ### `pipe.fn`
903
903
 
904
- A set-returning SQL function as a typed source for `.from()` and joins. `pipe.fn(name, { args, columns })` returns a callable; calling it with the argument values returns the source. `name` is `fn` or `schema.fn` (lowercase letters, digits, underscores). `args` is a tuple of `pipe.field.*` descriptors and `columns` a record of them; a wrong argument count or type, or an undeclared column, is a compile error. Each argument is a bound parameter cast to its declared SQL type, and result columns are read as `camelToSnake(key)`.
904
+ A set-returning SQL function as a typed source for `.from()` and joins. `pipe.fn(name, { args, columns })` returns a callable; calling it with the argument values returns the source. `name` is `fn` or `schema.fn` (lowercase letters, digits, underscores). `args` is a tuple of `pipe.field.*` descriptors and `columns` a record of them; a wrong argument count or type, or an undeclared column, is a compile error. Each argument is a value, a column, or a SQL expression of the declared type (a column or SQL of another type is a compile error). A value is a bound parameter; a column or SQL expression is embedded as written; every argument is cast to its declared SQL type. Result columns are read as `camelToSnake(key)`.
905
905
 
906
906
  ```ts
907
907
  const headImports = pipe.fn('canvas.head_imports', {
@@ -913,6 +913,20 @@ await db.select().from(f).where(eq(f.toPackage, pkg)).orderBy(asc(f.line))
913
913
  const g = headImports(repoId, other).as('prev') // the same function twice in one query
914
914
  ```
915
915
 
916
+ An array column unnests into a set once per statement, which Postgres can hash, through a lateral join:
917
+
918
+ ```ts
919
+ const unnestUuids = pipe.fn('unnest', {
920
+ args: [pipe.field.uuid().array()],
921
+ columns: { unnest: pipe.field.uuid() },
922
+ })
923
+ const u = unnestUuids(src.arr) // unnest("src"."arr"::uuid[])
924
+ const held = db.select({ id: u.unnest }).from(src).crossJoinLateral(u)
925
+ await db.select().from(target).where(inArray(target.id, held))
926
+ ```
927
+
928
+ A result column of one function (`unnestUuids(f.x)`) is a valid argument to another when both are in the same query.
929
+
916
930
  The default alias is the unqualified function name. Fields work with `eq`, `castUuid`, `orderBy`, joins and `select({ x: f.fromPath })`.
917
931
 
918
932
  ### `pipe.field`
@@ -1,5 +1,6 @@
1
1
  import type { SQL } from './types.js';
2
2
  import { Subquery } from '../query/subquery.js';
3
+ import type { Column } from './types.js';
3
4
  import type { InferFieldOutput } from '../domain/brand.js';
4
5
  import type { FieldDescriptor } from '../domain/types.js';
5
6
  type AnyField = FieldDescriptor<any, any>;
@@ -10,8 +11,17 @@ export interface FunctionSpec<TArgs extends readonly AnyField[], TColumns extend
10
11
  /** One `pipe.field.*` descriptor per result column; keys are camelCase, columns are their snake_case. */
11
12
  readonly columns: TColumns;
12
13
  }
14
+ /** A column whose data type is `T` (and that cannot be null unless `T` can). */
15
+ type ColumnOf<T> = Column & {
16
+ readonly _: {
17
+ readonly data: Exclude<T, null>;
18
+ readonly notNull: null extends T ? boolean : true;
19
+ };
20
+ };
21
+ /** One argument: a bound value, a SQL expression, or a column, each of the declared type. */
22
+ type ArgValue<F extends AnyField> = InferFieldOutput<F> | SQL<InferFieldOutput<F>> | ColumnOf<InferFieldOutput<F>>;
13
23
  type ArgValues<TArgs extends readonly AnyField[]> = {
14
- [K in keyof TArgs]: InferFieldOutput<TArgs[K]>;
24
+ [K in keyof TArgs]: ArgValue<TArgs[K]>;
15
25
  };
16
26
  /** The selected fields of a function source: each result column as a typed SQL expression. */
17
27
  export type FunctionSourceFields<TColumns extends Record<string, AnyField>> = {
@@ -24,9 +34,11 @@ export type FunctionSource<TAlias extends string, TColumns extends Record<string
24
34
  };
25
35
  /**
26
36
  * Declares a set-returning SQL function and returns a callable that yields a source for `.from()` and joins.
27
- * Each argument is bound as a parameter, converted the way a column of that field is on insert (jsonb as JSON text,
28
- * dates, bigints, arrays), and cast to its declared SQL type: `ext.f($1::uuid, $2::text)`. A null binds SQL NULL.
29
- * An array argument (`field.uuid().array()`) is one parameter: `ext.f($1::uuid[])`.
37
+ * Each argument is a value, a column or a SQL expression of the declared type. A value is bound as a parameter,
38
+ * converted the way a column of that field is on insert (jsonb as JSON text, dates, bigints, arrays), and cast to its
39
+ * declared SQL type: `ext.f($1::uuid, $2::text)`. A null binds SQL NULL. An array argument (`field.uuid().array()`) is
40
+ * one parameter: `ext.f($1::uuid[])`. A column or SQL expression is embedded as written, still cast:
41
+ * `unnest(t.arr::uuid[])`, so an array column can be unnested in a lateral join (`.crossJoinLateral(unnestUuids(t.arr))`).
30
42
  * Result columns are typed from `columns`; the default alias is the function's unqualified name.
31
43
  */
32
44
  export declare function fn<const TArgs extends readonly AnyField[], TColumns extends Record<string, AnyField>>(name: string, spec: FunctionSpec<TArgs, TColumns>): (...values: ArgValues<TArgs>) => FunctionSource<string, TColumns>;
@@ -1 +1 @@
1
- {"version":3,"file":"function-source.d.ts","sourceRoot":"","sources":["../../../src/data/db/function-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAK/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAKzD,KAAK,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAIzC,mFAAmF;AACnF,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,SAAS,QAAQ,EAAE,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxG,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,CAAA;IAClC,yGAAyG;IACzG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;CAC3B;AAED,KAAK,SAAS,CAAC,KAAK,SAAS,SAAS,QAAQ,EAAE,IAAI;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEtG,8FAA8F;AAC9F,MAAM,MAAM,oBAAoB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;KAC3E,CAAC,IAAI,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAA;AAED,8FAA8F;AAC9F,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IACvF,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAChD,oBAAoB,CAAC,QAAQ,CAAC,GAC9B;IACA,uFAAuF;IACvF,EAAE,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;CACrE,CAAA;AAUH;;;;;;GAMG;AACH,wBAAgB,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS,SAAS,QAAQ,EAAE,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACnG,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,GAClC,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAsDnE"}
1
+ {"version":3,"file":"function-source.d.ts","sourceRoot":"","sources":["../../../src/data/db/function-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAKzD,KAAK,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAIzC,mFAAmF;AACnF,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,SAAS,QAAQ,EAAE,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxG,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,CAAA;IAClC,yGAAyG;IACzG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;CAC3B;AAED,gFAAgF;AAChF,KAAK,QAAQ,CAAC,CAAC,IAAI,MAAM,GAAG;IAC1B,QAAQ,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,GAAG,OAAO,GAAG,IAAI,CAAA;KAAE,CAAA;CACnG,CAAA;AAED,6FAA6F;AAC7F,KAAK,QAAQ,CAAC,CAAC,SAAS,QAAQ,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAElH,KAAK,SAAS,CAAC,KAAK,SAAS,SAAS,QAAQ,EAAE,IAAI;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAE9F,8FAA8F;AAC9F,MAAM,MAAM,oBAAoB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;KAC3E,CAAC,IAAI,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAA;AAED,8FAA8F;AAC9F,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IACvF,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAChD,oBAAoB,CAAC,QAAQ,CAAC,GAC9B;IACA,uFAAuF;IACvF,EAAE,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;CACrE,CAAA;AAUH;;;;;;;;GAQG;AACH,wBAAgB,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS,SAAS,QAAQ,EAAE,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACnG,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,GAClC,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAsDnE"}
@@ -14,9 +14,11 @@ function quote(name) {
14
14
  }
15
15
  /**
16
16
  * Declares a set-returning SQL function and returns a callable that yields a source for `.from()` and joins.
17
- * Each argument is bound as a parameter, converted the way a column of that field is on insert (jsonb as JSON text,
18
- * dates, bigints, arrays), and cast to its declared SQL type: `ext.f($1::uuid, $2::text)`. A null binds SQL NULL.
19
- * An array argument (`field.uuid().array()`) is one parameter: `ext.f($1::uuid[])`.
17
+ * Each argument is a value, a column or a SQL expression of the declared type. A value is bound as a parameter,
18
+ * converted the way a column of that field is on insert (jsonb as JSON text, dates, bigints, arrays), and cast to its
19
+ * declared SQL type: `ext.f($1::uuid, $2::text)`. A null binds SQL NULL. An array argument (`field.uuid().array()`) is
20
+ * one parameter: `ext.f($1::uuid[])`. A column or SQL expression is embedded as written, still cast:
21
+ * `unnest(t.arr::uuid[])`, so an array column can be unnested in a lateral join (`.crossJoinLateral(unnestUuids(t.arr))`).
20
22
  * Result columns are typed from `columns`; the default alias is the function's unqualified name.
21
23
  */
22
24
  export function fn(name, spec) {
@@ -1 +1 @@
1
- {"version":3,"file":"function-source.js","sourceRoot":"","sources":["../../../src/data/db/function-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-source.js","sourceRoot":"","sources":["../../../src/data/db/function-source.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,18 @@
1
1
  import type { SQL, Column } from './types.js';
2
2
  /**
3
- * Membership of a JS list: `<expr> = ANY($1::text[])`, the list bound as one array parameter
4
- * whatever its length and hashed by Postgres. An empty list is `false` (no parameter).
3
+ * Membership of a JS list, the list bound as one array parameter whatever its length. Up to 100
4
+ * values render `<expr> = ANY($1::text[])`; longer lists render
5
+ * `<expr> IN (SELECT unnest((SELECT $1::text[])))`, which Postgres hashes under any plan and when
6
+ * the column and list are different integer types. An empty list is `false` (no parameter).
5
7
  * Strings bind as `text`, integers as `bigint`, other numbers as `numeric`; pass `cast` for
6
8
  * other columns, e.g. `inList(t.id, ids, 'uuid')`. Lifts `inArray`'s 65,535-parameter limit.
7
9
  */
8
10
  export declare function inList(expr: Column | SQL, values: readonly string[] | readonly number[], cast?: string): SQL<boolean>;
9
11
  /**
10
- * Non-membership of a JS list: `<expr> <> ALL($1::text[])`, the list bound as one array
11
- * parameter. An empty list is `true` (no parameter). Types and `cast` as for `inList`
12
- * (`notInList(t.id, ids, 'uuid')`); lifts `notInArray`'s 65,535-parameter limit.
12
+ * Non-membership of a JS list, the list bound as one array parameter. Up to 100 values render
13
+ * `<expr> <> ALL($1::text[])`; longer lists render `<expr> NOT IN (SELECT unnest((SELECT $1::text[])))`,
14
+ * hashed under any plan. A NULL `expr` is not returned in either form. An empty list is `true`
15
+ * (no parameter). Types and `cast` as for `inList`; lifts `notInArray`'s 65,535-parameter limit.
13
16
  */
14
17
  export declare function notInList(expr: Column | SQL, values: readonly string[] | readonly number[], cast?: string): SQL<boolean>;
15
18
  //# sourceMappingURL=in-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-list.d.ts","sourceRoot":"","sources":["../../../src/data/db/in-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA4B7C;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAGrH;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAGxH"}
1
+ {"version":3,"file":"in-list.d.ts","sourceRoot":"","sources":["../../../src/data/db/in-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAmC7C;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAKrH;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAKxH"}
@@ -27,25 +27,39 @@ function bind(values, cast) {
27
27
  fail('the values are not an array.', 'pass a string[] or number[].');
28
28
  return sql `${sql.param(values)}::${sql.raw(elementType(values, cast))}[]`;
29
29
  }
30
+ // Short lists keep `= ANY`: it takes index conditions, plan-time partition pruning and
31
+ // array-length selectivity, which a subquery loses. Long lists need the subquery, which stays
32
+ // hashed under any plan and across integer types.
33
+ const HASH_ABOVE = 100;
34
+ const member = (bound) => sql `(SELECT unnest((SELECT ${bound})))`;
30
35
  /**
31
- * Membership of a JS list: `<expr> = ANY($1::text[])`, the list bound as one array parameter
32
- * whatever its length and hashed by Postgres. An empty list is `false` (no parameter).
36
+ * Membership of a JS list, the list bound as one array parameter whatever its length. Up to 100
37
+ * values render `<expr> = ANY($1::text[])`; longer lists render
38
+ * `<expr> IN (SELECT unnest((SELECT $1::text[])))`, which Postgres hashes under any plan and when
39
+ * the column and list are different integer types. An empty list is `false` (no parameter).
33
40
  * Strings bind as `text`, integers as `bigint`, other numbers as `numeric`; pass `cast` for
34
41
  * other columns, e.g. `inList(t.id, ids, 'uuid')`. Lifts `inArray`'s 65,535-parameter limit.
35
42
  */
36
43
  export function inList(expr, values, cast) {
37
44
  if (values.length === 0 && cast !== undefined)
38
45
  bind(values, cast);
39
- return values.length === 0 ? sql `false` : sql `${expr} = ANY(${bind(values, cast)})`;
46
+ if (values.length === 0)
47
+ return sql `false`;
48
+ const bound = bind(values, cast);
49
+ return values.length > HASH_ABOVE ? sql `${expr} IN ${member(bound)}` : sql `${expr} = ANY(${bound})`;
40
50
  }
41
51
  /**
42
- * Non-membership of a JS list: `<expr> <> ALL($1::text[])`, the list bound as one array
43
- * parameter. An empty list is `true` (no parameter). Types and `cast` as for `inList`
44
- * (`notInList(t.id, ids, 'uuid')`); lifts `notInArray`'s 65,535-parameter limit.
52
+ * Non-membership of a JS list, the list bound as one array parameter. Up to 100 values render
53
+ * `<expr> <> ALL($1::text[])`; longer lists render `<expr> NOT IN (SELECT unnest((SELECT $1::text[])))`,
54
+ * hashed under any plan. A NULL `expr` is not returned in either form. An empty list is `true`
55
+ * (no parameter). Types and `cast` as for `inList`; lifts `notInArray`'s 65,535-parameter limit.
45
56
  */
46
57
  export function notInList(expr, values, cast) {
47
58
  if (values.length === 0 && cast !== undefined)
48
59
  bind(values, cast);
49
- return values.length === 0 ? sql `true` : sql `${expr} <> ALL(${bind(values, cast)})`;
60
+ if (values.length === 0)
61
+ return sql `true`;
62
+ const bound = bind(values, cast);
63
+ return values.length > HASH_ABOVE ? sql `${expr} NOT IN ${member(bound)}` : sql `${expr} <> ALL(${bound})`;
50
64
  }
51
65
  //# sourceMappingURL=in-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-list.js","sourceRoot":"","sources":["../../../src/data/db/in-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAG9B,MAAM,IAAI,GAAG,oCAAoC,CAAA;AAEjD,SAAS,IAAI,CAAC,OAAe,EAAE,GAAW;IACxC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,cAAc,GAAG,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED,SAAS,WAAW,CAAC,MAAoC,EAAE,IAAwB;IACjF,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,SAAS,IAAI,6BAA6B,EAAE,2CAA2C,CAAC,CAAA;IACzI,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;IAC7C,KAAK,MAAM,CAAC,IAAI,MAA4B,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,2CAA2C,EAAE,qCAAqC,CAAC,CAAA;QAC3H,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,kDAAkD,EAAE,uDAAuD,CAAC,CAAA;QACnH,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAW,CAAC;YAAE,IAAI,CAAC,4CAA4C,EAAE,2BAA2B,CAAC,CAAA;IAC/H,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAA;IAC3B,OAAQ,MAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7F,CAAC;AAED,SAAS,IAAI,CAAC,MAA6C,EAAE,IAAwB;IACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,8BAA8B,EAAE,8BAA8B,CAAC,CAAA;IAChG,OAAO,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,IAAkB,EAAE,MAA6C,EAAE,IAAa;IACrG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAS,OAAO,CAAC,CAAC,CAAC,GAAG,CAAS,GAAG,IAAI,UAAU,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAA;AACvG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAkB,EAAE,MAA6C,EAAE,IAAa;IACxG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAS,MAAM,CAAC,CAAC,CAAC,GAAG,CAAS,GAAG,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAA;AACvG,CAAC"}
1
+ {"version":3,"file":"in-list.js","sourceRoot":"","sources":["../../../src/data/db/in-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAG9B,MAAM,IAAI,GAAG,oCAAoC,CAAA;AAEjD,SAAS,IAAI,CAAC,OAAe,EAAE,GAAW;IACxC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,cAAc,GAAG,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED,SAAS,WAAW,CAAC,MAAoC,EAAE,IAAwB;IACjF,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,SAAS,IAAI,6BAA6B,EAAE,2CAA2C,CAAC,CAAA;IACzI,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;IAC7C,KAAK,MAAM,CAAC,IAAI,MAA4B,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,2CAA2C,EAAE,qCAAqC,CAAC,CAAA;QAC3H,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,kDAAkD,EAAE,uDAAuD,CAAC,CAAA;QACnH,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAW,CAAC;YAAE,IAAI,CAAC,4CAA4C,EAAE,2BAA2B,CAAC,CAAA;IAC/H,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAA;IAC3B,OAAQ,MAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7F,CAAC;AAED,SAAS,IAAI,CAAC,MAA6C,EAAE,IAAwB;IACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,8BAA8B,EAAE,8BAA8B,CAAC,CAAA;IAChG,OAAO,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED,uFAAuF;AACvF,8FAA8F;AAC9F,kDAAkD;AAClD,MAAM,UAAU,GAAG,GAAG,CAAA;AAEtB,MAAM,MAAM,GAAG,CAAC,KAAU,EAAO,EAAE,CAAC,GAAG,CAAA,0BAA0B,KAAK,KAAK,CAAA;AAE3E;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,IAAkB,EAAE,MAA6C,EAAE,IAAa;IACrG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAS,OAAO,CAAA;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAChC,OAAO,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAS,GAAG,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAS,GAAG,IAAI,UAAU,KAAK,GAAG,CAAA;AACvH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAkB,EAAE,MAA6C,EAAE,IAAa;IACxG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAS,MAAM,CAAA;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAChC,OAAO,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAS,GAAG,IAAI,WAAW,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAS,GAAG,IAAI,WAAW,KAAK,GAAG,CAAA;AAC5H,CAAC"}
@@ -155,8 +155,9 @@ export declare namespace sql {
155
155
  */
156
156
  function raw(str: string): SQL;
157
157
  /**
158
- * Membership test for a JS list: `col ${sql.inList(xs)}` renders `= ANY(...)`, so an empty list
159
- * matches nothing instead of the syntax error `IN ()`. Values travel as one jsonb parameter and
158
+ * Membership test for a JS list: `col ${sql.inList(xs)}` renders `IN (SELECT ...)` over the list, which
159
+ * Postgres hashes under any plan and across integer types. An empty list matches nothing instead
160
+ * of the syntax error `IN ()`. Values travel as one jsonb parameter and
160
161
  * are read as text; `cast` names the element type (`'uuid'`, `'int'`, `'timestamptz'`).
161
162
  * @example
162
163
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../../../src/data/query/sql/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../../../src/data/query/sql/sql.ts"],"names":[],"mappings":"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"}
@@ -363,8 +363,9 @@ export function sql(strings, ...params) {
363
363
  }
364
364
  sql.raw = raw;
365
365
  /**
366
- * Membership test for a JS list: `col ${sql.inList(xs)}` renders `= ANY(...)`, so an empty list
367
- * matches nothing instead of the syntax error `IN ()`. Values travel as one jsonb parameter and
366
+ * Membership test for a JS list: `col ${sql.inList(xs)}` renders `IN (SELECT ...)` over the list, which
367
+ * Postgres hashes under any plan and across integer types. An empty list matches nothing instead
368
+ * of the syntax error `IN ()`. Values travel as one jsonb parameter and
368
369
  * are read as text; `cast` names the element type (`'uuid'`, `'int'`, `'timestamptz'`).
369
370
  * @example
370
371
  * ```ts
@@ -377,9 +378,9 @@ export function sql(strings, ...params) {
377
378
  }
378
379
  const json = JSON.stringify(values.map((v) => (v === null ? null : typeof v === 'string' ? v : v instanceof Date ? v.toISOString() : typeof v === 'object' ? JSON.stringify(v) : String(v))));
379
380
  return new SQL([
380
- new StringChunk('= ANY(ARRAY(SELECT jsonb_array_elements_text('),
381
+ new StringChunk('IN (SELECT (jsonb_array_elements_text('),
381
382
  new Param(json),
382
- new StringChunk(`::jsonb))::${cast}[])`),
383
+ new StringChunk(`::jsonb))::${cast})`),
383
384
  ]);
384
385
  }
385
386
  sql.inList = inList;
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../src/data/query/sql/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../src/data/query/sql/sql.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { sql, textArrayParam } from '../../data/db/sql.js';
1
+ import { sql } from '../../data/db/sql.js';
2
2
  import { pipeSystem } from '../../data/db/db.js';
3
3
  import { insert, remove } from '../../data/write/index.js';
4
4
  import { schema } from '../../data/schema/namespace.js';
@@ -315,7 +315,7 @@ export function createMail(config) {
315
315
  const out = new Set();
316
316
  if (given.size === 0)
317
317
  return out;
318
- const rows = await executor.execute(sql `SELECT address FROM pipework_email_unsubscribes WHERE list = ${list} AND address = ANY(${textArrayParam([...given.keys()])}::text[])`);
318
+ const rows = await executor.execute(sql `SELECT address FROM pipework_email_unsubscribes WHERE list = ${list} AND address ${sql.inList([...given.keys()])}`);
319
319
  for (const row of rows)
320
320
  for (const spelling of given.get(row['address']) ?? [])
321
321
  out.add(spelling);
@@ -1 +1 @@
1
- {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../../src/infra/email/mail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../../src/infra/email/mail.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pipework",
3
- "version": "0.263.0",
3
+ "version": "0.264.0",
4
4
  "description": "TypeScript framework for multi-tenant SaaS applications. PostgreSQL-only.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -23,7 +23,15 @@ export interface FunctionSpec<TArgs extends readonly AnyField[], TColumns extend
23
23
  readonly columns: TColumns
24
24
  }
25
25
 
26
- type ArgValues<TArgs extends readonly AnyField[]> = { [K in keyof TArgs]: InferFieldOutput<TArgs[K]> }
26
+ /** A column whose data type is `T` (and that cannot be null unless `T` can). */
27
+ type ColumnOf<T> = Column & {
28
+ readonly _: { readonly data: Exclude<T, null>; readonly notNull: null extends T ? boolean : true }
29
+ }
30
+
31
+ /** One argument: a bound value, a SQL expression, or a column, each of the declared type. */
32
+ type ArgValue<F extends AnyField> = InferFieldOutput<F> | SQL<InferFieldOutput<F>> | ColumnOf<InferFieldOutput<F>>
33
+
34
+ type ArgValues<TArgs extends readonly AnyField[]> = { [K in keyof TArgs]: ArgValue<TArgs[K]> }
27
35
 
28
36
  /** The selected fields of a function source: each result column as a typed SQL expression. */
29
37
  export type FunctionSourceFields<TColumns extends Record<string, AnyField>> = {
@@ -49,9 +57,11 @@ function quote(name: string): string {
49
57
 
50
58
  /**
51
59
  * Declares a set-returning SQL function and returns a callable that yields a source for `.from()` and joins.
52
- * Each argument is bound as a parameter, converted the way a column of that field is on insert (jsonb as JSON text,
53
- * dates, bigints, arrays), and cast to its declared SQL type: `ext.f($1::uuid, $2::text)`. A null binds SQL NULL.
54
- * An array argument (`field.uuid().array()`) is one parameter: `ext.f($1::uuid[])`.
60
+ * Each argument is a value, a column or a SQL expression of the declared type. A value is bound as a parameter,
61
+ * converted the way a column of that field is on insert (jsonb as JSON text, dates, bigints, arrays), and cast to its
62
+ * declared SQL type: `ext.f($1::uuid, $2::text)`. A null binds SQL NULL. An array argument (`field.uuid().array()`) is
63
+ * one parameter: `ext.f($1::uuid[])`. A column or SQL expression is embedded as written, still cast:
64
+ * `unnest(t.arr::uuid[])`, so an array column can be unnested in a lateral join (`.crossJoinLateral(unnestUuids(t.arr))`).
55
65
  * Result columns are typed from `columns`; the default alias is the function's unqualified name.
56
66
  */
57
67
  export function fn<const TArgs extends readonly AnyField[], TColumns extends Record<string, AnyField>>(
@@ -27,23 +27,37 @@ function bind(values: readonly string[] | readonly number[], cast: string | unde
27
27
  return sql`${sql.param(values)}::${sql.raw(elementType(values, cast))}[]`
28
28
  }
29
29
 
30
+ // Short lists keep `= ANY`: it takes index conditions, plan-time partition pruning and
31
+ // array-length selectivity, which a subquery loses. Long lists need the subquery, which stays
32
+ // hashed under any plan and across integer types.
33
+ const HASH_ABOVE = 100
34
+
35
+ const member = (bound: SQL): SQL => sql`(SELECT unnest((SELECT ${bound})))`
36
+
30
37
  /**
31
- * Membership of a JS list: `<expr> = ANY($1::text[])`, the list bound as one array parameter
32
- * whatever its length and hashed by Postgres. An empty list is `false` (no parameter).
38
+ * Membership of a JS list, the list bound as one array parameter whatever its length. Up to 100
39
+ * values render `<expr> = ANY($1::text[])`; longer lists render
40
+ * `<expr> IN (SELECT unnest((SELECT $1::text[])))`, which Postgres hashes under any plan and when
41
+ * the column and list are different integer types. An empty list is `false` (no parameter).
33
42
  * Strings bind as `text`, integers as `bigint`, other numbers as `numeric`; pass `cast` for
34
43
  * other columns, e.g. `inList(t.id, ids, 'uuid')`. Lifts `inArray`'s 65,535-parameter limit.
35
44
  */
36
45
  export function inList(expr: Column | SQL, values: readonly string[] | readonly number[], cast?: string): SQL<boolean> {
37
46
  if (values.length === 0 && cast !== undefined) bind(values, cast)
38
- return values.length === 0 ? sql<boolean>`false` : sql<boolean>`${expr} = ANY(${bind(values, cast)})`
47
+ if (values.length === 0) return sql<boolean>`false`
48
+ const bound = bind(values, cast)
49
+ return values.length > HASH_ABOVE ? sql<boolean>`${expr} IN ${member(bound)}` : sql<boolean>`${expr} = ANY(${bound})`
39
50
  }
40
51
 
41
52
  /**
42
- * Non-membership of a JS list: `<expr> <> ALL($1::text[])`, the list bound as one array
43
- * parameter. An empty list is `true` (no parameter). Types and `cast` as for `inList`
44
- * (`notInList(t.id, ids, 'uuid')`); lifts `notInArray`'s 65,535-parameter limit.
53
+ * Non-membership of a JS list, the list bound as one array parameter. Up to 100 values render
54
+ * `<expr> <> ALL($1::text[])`; longer lists render `<expr> NOT IN (SELECT unnest((SELECT $1::text[])))`,
55
+ * hashed under any plan. A NULL `expr` is not returned in either form. An empty list is `true`
56
+ * (no parameter). Types and `cast` as for `inList`; lifts `notInArray`'s 65,535-parameter limit.
45
57
  */
46
58
  export function notInList(expr: Column | SQL, values: readonly string[] | readonly number[], cast?: string): SQL<boolean> {
47
59
  if (values.length === 0 && cast !== undefined) bind(values, cast)
48
- return values.length === 0 ? sql<boolean>`true` : sql<boolean>`${expr} <> ALL(${bind(values, cast)})`
60
+ if (values.length === 0) return sql<boolean>`true`
61
+ const bound = bind(values, cast)
62
+ return values.length > HASH_ABOVE ? sql<boolean>`${expr} NOT IN ${member(bound)}` : sql<boolean>`${expr} <> ALL(${bound})`
49
63
  }
@@ -564,8 +564,9 @@ export namespace sql {
564
564
  }
565
565
 
566
566
  /**
567
- * Membership test for a JS list: `col ${sql.inList(xs)}` renders `= ANY(...)`, so an empty list
568
- * matches nothing instead of the syntax error `IN ()`. Values travel as one jsonb parameter and
567
+ * Membership test for a JS list: `col ${sql.inList(xs)}` renders `IN (SELECT ...)` over the list, which
568
+ * Postgres hashes under any plan and across integer types. An empty list matches nothing instead
569
+ * of the syntax error `IN ()`. Values travel as one jsonb parameter and
569
570
  * are read as text; `cast` names the element type (`'uuid'`, `'int'`, `'timestamptz'`).
570
571
  * @example
571
572
  * ```ts
@@ -578,9 +579,9 @@ export namespace sql {
578
579
  }
579
580
  const json = JSON.stringify(values.map((v) => (v === null ? null : typeof v === 'string' ? v : v instanceof Date ? v.toISOString() : typeof v === 'object' ? JSON.stringify(v) : String(v))));
580
581
  return new SQL([
581
- new StringChunk('= ANY(ARRAY(SELECT jsonb_array_elements_text('),
582
+ new StringChunk('IN (SELECT (jsonb_array_elements_text('),
582
583
  new Param(json),
583
- new StringChunk(`::jsonb))::${cast}[])`),
584
+ new StringChunk(`::jsonb))::${cast})`),
584
585
  ]);
585
586
  }
586
587
 
@@ -1,4 +1,4 @@
1
- import { sql, textArrayParam } from '../../data/db/sql.js'
1
+ import { sql } from '../../data/db/sql.js'
2
2
  import type { DB } from '../../data/db/index.js'
3
3
  import { pipeSystem } from '../../data/db/db.js'
4
4
  import { insert, remove } from '../../data/write/index.js'
@@ -459,7 +459,7 @@ export function createMail<T extends EmailTemplates>(config: MailConfig<T>): Mai
459
459
  }
460
460
  const out = new Set<string>()
461
461
  if (given.size === 0) return out
462
- const rows = await executor.execute(sql`SELECT address FROM pipework_email_unsubscribes WHERE list = ${list} AND address = ANY(${textArrayParam([...given.keys()])}::text[])`)
462
+ const rows = await executor.execute(sql`SELECT address FROM pipework_email_unsubscribes WHERE list = ${list} AND address ${sql.inList([...given.keys()])}`)
463
463
  for (const row of rows) for (const spelling of given.get(row['address'] as string) ?? []) out.add(spelling)
464
464
  return out
465
465
  },