effect-qb 0.12.3
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/README.md +1294 -0
- package/dist/mysql.js +57575 -0
- package/dist/postgres.js +6303 -0
- package/package.json +42 -0
- package/src/internal/aggregation-validation.ts +57 -0
- package/src/internal/case-analysis.ts +50 -0
- package/src/internal/coercion-analysis.ts +30 -0
- package/src/internal/coercion-errors.ts +29 -0
- package/src/internal/coercion-kind.ts +32 -0
- package/src/internal/coercion-normalize.ts +7 -0
- package/src/internal/coercion-rules.ts +25 -0
- package/src/internal/column-state.ts +453 -0
- package/src/internal/column.ts +417 -0
- package/src/internal/datatypes/define.ts +44 -0
- package/src/internal/datatypes/lookup.ts +280 -0
- package/src/internal/datatypes/shape.ts +72 -0
- package/src/internal/derived-table.ts +149 -0
- package/src/internal/dialect.ts +30 -0
- package/src/internal/executor.ts +390 -0
- package/src/internal/expression-ast.ts +349 -0
- package/src/internal/expression.ts +325 -0
- package/src/internal/grouping-key.ts +82 -0
- package/src/internal/json/ast.ts +63 -0
- package/src/internal/json/errors.ts +13 -0
- package/src/internal/json/path.ts +227 -0
- package/src/internal/json/shape.ts +1 -0
- package/src/internal/json/types.ts +386 -0
- package/src/internal/mysql-dialect.ts +39 -0
- package/src/internal/mysql-renderer.ts +37 -0
- package/src/internal/plan.ts +64 -0
- package/src/internal/postgres-dialect.ts +34 -0
- package/src/internal/postgres-renderer.ts +40 -0
- package/src/internal/predicate-analysis.ts +71 -0
- package/src/internal/predicate-atom.ts +43 -0
- package/src/internal/predicate-branches.ts +40 -0
- package/src/internal/predicate-context.ts +279 -0
- package/src/internal/predicate-formula.ts +100 -0
- package/src/internal/predicate-key.ts +28 -0
- package/src/internal/predicate-nnf.ts +12 -0
- package/src/internal/predicate-normalize.ts +202 -0
- package/src/internal/projection-alias.ts +15 -0
- package/src/internal/projections.ts +101 -0
- package/src/internal/query-ast.ts +297 -0
- package/src/internal/query-factory.ts +6757 -0
- package/src/internal/query-requirements.ts +40 -0
- package/src/internal/query.ts +1590 -0
- package/src/internal/renderer.ts +102 -0
- package/src/internal/runtime-normalize.ts +344 -0
- package/src/internal/runtime-schema.ts +428 -0
- package/src/internal/runtime-value.ts +85 -0
- package/src/internal/schema-derivation.ts +131 -0
- package/src/internal/sql-expression-renderer.ts +1353 -0
- package/src/internal/table-options.ts +225 -0
- package/src/internal/table.ts +674 -0
- package/src/mysql/column.ts +30 -0
- package/src/mysql/datatypes/index.ts +6 -0
- package/src/mysql/datatypes/spec.ts +180 -0
- package/src/mysql/errors/catalog.ts +51662 -0
- package/src/mysql/errors/fields.ts +21 -0
- package/src/mysql/errors/index.ts +18 -0
- package/src/mysql/errors/normalize.ts +232 -0
- package/src/mysql/errors/requirements.ts +73 -0
- package/src/mysql/executor.ts +134 -0
- package/src/mysql/query.ts +189 -0
- package/src/mysql/renderer.ts +19 -0
- package/src/mysql/table.ts +157 -0
- package/src/mysql.ts +18 -0
- package/src/postgres/column.ts +20 -0
- package/src/postgres/datatypes/index.ts +8 -0
- package/src/postgres/datatypes/spec.ts +264 -0
- package/src/postgres/errors/catalog.ts +452 -0
- package/src/postgres/errors/fields.ts +48 -0
- package/src/postgres/errors/index.ts +4 -0
- package/src/postgres/errors/normalize.ts +209 -0
- package/src/postgres/errors/requirements.ts +65 -0
- package/src/postgres/errors/types.ts +38 -0
- package/src/postgres/executor.ts +131 -0
- package/src/postgres/query.ts +189 -0
- package/src/postgres/renderer.ts +29 -0
- package/src/postgres/table.ts +157 -0
- package/src/postgres.ts +18 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** Query capabilities directly modeled by the current plan AST. */
|
|
2
|
+
export type QueryCapability = "read" | "write" | "ddl" | "transaction" | "locking"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Capability or query-mode requirement associated with a dialect error.
|
|
6
|
+
*
|
|
7
|
+
* Not every requirement is currently expressible by query plans. The extra
|
|
8
|
+
* vocabulary exists so dialect maps can stay stable as the plan surface grows.
|
|
9
|
+
*/
|
|
10
|
+
export type QueryRequirement =
|
|
11
|
+
| QueryCapability
|
|
12
|
+
| "ddl"
|
|
13
|
+
| "transaction"
|
|
14
|
+
| "locking"
|
|
15
|
+
|
|
16
|
+
/** Runtime capability list for the current read-only query plans. */
|
|
17
|
+
export const read_query_capabilities = ["read"] as const
|
|
18
|
+
|
|
19
|
+
/** Type-level union of two capability sets. */
|
|
20
|
+
export type MergeCapabilities<
|
|
21
|
+
Left extends QueryCapability,
|
|
22
|
+
Right extends QueryCapability
|
|
23
|
+
> = Left | Right
|
|
24
|
+
|
|
25
|
+
/** Type-level union of capability sets across a readonly tuple. */
|
|
26
|
+
export type MergeCapabilityTuple<
|
|
27
|
+
Values extends readonly QueryCapability[],
|
|
28
|
+
Current extends QueryCapability = never
|
|
29
|
+
> = Values extends readonly [
|
|
30
|
+
infer Head extends QueryCapability,
|
|
31
|
+
...infer Tail extends readonly QueryCapability[]
|
|
32
|
+
]
|
|
33
|
+
? MergeCapabilityTuple<Tail, Current | Head>
|
|
34
|
+
: Current
|
|
35
|
+
|
|
36
|
+
/** Dedupes and normalizes capability lists at runtime. */
|
|
37
|
+
export const union_query_capabilities = (
|
|
38
|
+
...values: ReadonlyArray<ReadonlyArray<QueryCapability>>
|
|
39
|
+
): ReadonlyArray<QueryCapability> =>
|
|
40
|
+
[...new Set(values.flatMap((value) => value))]
|