qubu 0.6.1 → 0.6.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/dist/{complete-DP7pliuY.mjs → canonical-B5_ouh-c.mjs} +466 -241
- package/dist/codegen.d.mts +2 -2
- package/dist/codegen.mjs +180 -90
- package/dist/column-Cyc2CMnG.mjs +116 -0
- package/dist/column-DDRvD7SF.mjs +721 -0
- package/dist/{constraints-DM_tarXc.mjs → constraints-CAmi18Uk.mjs} +8 -3
- package/dist/core.d.mts +3 -3
- package/dist/core.mjs +4 -4
- package/dist/diff.d.mts +9 -9
- package/dist/diff.mjs +152 -102
- package/dist/{explain-CkIK13L_.mjs → explain-BIqEmZha.mjs} +1 -1
- package/dist/{expressions-BCjc08zw.mjs → expressions-_6JF_J77.mjs} +2 -1
- package/dist/index-CaxrMD1A.d.mts +1 -0
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +368 -74
- package/dist/introspection/mysql.d.mts +1 -1
- package/dist/introspection/mysql.mjs +156 -23
- package/dist/introspection/postgres.d.mts +6 -3
- package/dist/introspection/postgres.mjs +388 -53
- package/dist/introspection/sqlite.d.mts +1 -1
- package/dist/introspection/sqlite.mjs +198 -12
- package/dist/introspection.d.mts +26 -12
- package/dist/introspection.mjs +2 -672
- package/dist/mysql.d.mts +3 -3
- package/dist/mysql.mjs +6 -5
- package/dist/{errors-Dxv73YJu.mjs → omit-VEr9Ydux.mjs} +5 -1
- package/dist/{on-conflict-CnaY5qso.mjs → on-conflict-B2rFyHGF.mjs} +6 -8
- package/dist/on-duplicate-key-update-Czsw1Yq-.mjs +95 -0
- package/dist/{postgres-Dey7QXPL.mjs → postgres-hFhd0I9n.mjs} +4 -5
- package/dist/postgres.d.mts +2 -2
- package/dist/postgres.mjs +2 -2
- package/dist/{registry-oWDiqD7i.mjs → registry-BXE_4M9P.mjs} +1 -1
- package/dist/{relational-DSAJ-l58.mjs → relational-CoPBETjI.mjs} +3 -2
- package/dist/schema.d.mts +2 -2
- package/dist/schema.mjs +8 -8
- package/dist/{serialize-CE-gw5_s.mjs → serialize-CyobNEx-.mjs} +174 -30
- package/dist/serialize-Du2UPZMt.d.mts +92 -0
- package/dist/snapshot/mysql.d.mts +5 -5
- package/dist/snapshot/mysql.mjs +8 -8
- package/dist/snapshot/postgres.d.mts +3 -3
- package/dist/snapshot/postgres.mjs +9 -9
- package/dist/snapshot/sqlite.d.mts +3 -3
- package/dist/snapshot/sqlite.mjs +7 -7
- package/dist/snapshot-mIb-Zzb5.mjs +1489 -0
- package/dist/snapshot.d.mts +4 -5
- package/dist/snapshot.mjs +3 -4
- package/dist/{source-BDuUXmAk.mjs → source-DYSUqzvb.mjs} +2 -2
- package/dist/sqlite.d.mts +2 -2
- package/dist/sqlite.mjs +6 -6
- package/dist/{table-C1QGNe4P.mjs → table-B8zEq0az.mjs} +4 -4
- package/dist/{types-BLNRatG_.mjs → types-CYHpSPwj.mjs} +10 -5
- package/dist/{types-BEn0N_al.d.mts → types-CiMvKi5V.d.mts} +14 -4
- package/dist/{types-DUe6eeI0.d.mts → types-Dqr4o2I1.d.mts} +590 -168
- package/dist/value-CpaUFtjw.mjs +45 -0
- package/dist/vite/ambient.d.ts +2 -0
- package/dist/vite.d.mts +1 -1
- package/dist/vite.mjs +2 -0
- package/docs/dialects-and-execution.md +105 -26
- package/docs/getting-started.md +10 -10
- package/docs/guides/better-auth.md +16 -5
- package/docs/guides/compose-queries.md +21 -9
- package/docs/guides/drizzle.md +8 -3
- package/docs/guides/extensions/dialects.md +1 -1
- package/docs/guides/extensions/overview.md +1 -1
- package/docs/guides/extensions/sources-and-clauses.md +7 -3
- package/docs/guides/extensions/typed-expressions.md +26 -12
- package/docs/guides/extensions/unsafe-syntax.md +10 -6
- package/docs/guides/json.md +126 -8
- package/docs/guides/mutations.md +51 -6
- package/docs/guides/select/conditions.md +18 -11
- package/docs/guides/select/grouping-and-windows.md +5 -2
- package/docs/guides/select/ordering-and-pagination.md +5 -3
- package/docs/guides/select/overview.md +6 -3
- package/docs/guides/sql-templates.md +11 -5
- package/docs/guides/valtio-sync.md +11 -5
- package/docs/guides/vite-plugin.md +2 -2
- package/docs/index.md +25 -18
- package/docs/migrations/adapters.md +92 -27
- package/docs/migrations/artifacts-and-policy.md +49 -20
- package/docs/migrations/index.md +15 -8
- package/docs/migrations/lotta-adoption.md +16 -5
- package/docs/migrations/operations.md +29 -15
- package/docs/migrations/recovery.md +40 -17
- package/docs/query-model/fragments.md +33 -5
- package/docs/query-model/result-shapes.md +2 -2
- package/docs/query-model/source-scope.md +5 -3
- package/docs/reference/introspection-support.md +42 -37
- package/docs/reference/mysql-snapshot.md +19 -4
- package/docs/reference/postgres-snapshot.md +17 -4
- package/docs/reference/sqlite-snapshot.md +19 -2
- package/docs/reference/supported-surface.md +221 -84
- package/docs/schema/catalog-model.md +44 -14
- package/docs/schema/code-generation.md +40 -21
- package/docs/schema/columns-and-writes.md +21 -11
- package/docs/schema/constraints-and-indexes.md +12 -5
- package/docs/schema/ddl-emission.md +16 -5
- package/docs/schema/diff.md +13 -5
- package/docs/schema/introspection.md +64 -31
- package/docs/schema/migration-plans.md +18 -10
- package/docs/schema/snapshots.md +68 -30
- package/docs/schema/storage-and-schema-sql.md +16 -5
- package/docs/schema/tables-and-names.md +1 -1
- package/docs/sql-semantic-types.md +11 -8
- package/docs/troubleshooting.md +14 -6
- package/package.json +2 -1
- package/dist/canonical-DMvR9yBe.mjs +0 -972
- package/dist/column-BzN8KFJa.mjs +0 -364
- package/dist/column-CFvSbil0.mjs +0 -309
- package/dist/complete-types-CNMWBWap.d.mts +0 -371
- package/dist/index-CGui70hi.d.mts +0 -32
- package/dist/json-Db7XRD91.mjs +0 -169
- package/dist/omit-OxV58AwX.mjs +0 -5
- package/dist/serialize-OvXCLzjm.d.mts +0 -66
- package/dist/snapshot-DgsOhf_8.mjs +0 -354
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Introspection support
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Check supported database versions, catalog objects, and snapshot-mapping limits.
|
|
4
4
|
|
|
5
5
|
The optional `qubu/introspection` entrypoint reads one selected database
|
|
6
6
|
namespace through a user-owned `CatalogConnection`. It returns normalized
|
|
7
|
-
catalog data and can map that data to canonical Snapshot v1
|
|
7
|
+
catalog data and can map that data to canonical Snapshot v1. The
|
|
8
8
|
application owns the driver and connection lifecycle. Snapshot diffing,
|
|
9
9
|
migration planning, and DDL emission are separate Qubu capabilities; see the
|
|
10
10
|
[ownership map](supported-surface.md#ownership-boundary).
|
|
@@ -46,7 +46,7 @@ SQL.
|
|
|
46
46
|
## PostgreSQL complete catalog surface
|
|
47
47
|
|
|
48
48
|
The PostgreSQL reader also fills the complete normalized catalog used by
|
|
49
|
-
Snapshot
|
|
49
|
+
Snapshot v1. It keeps PostgreSQL OIDs in current-run physical references and
|
|
50
50
|
keeps decompiler output such as `pg_get_viewdef`, `pg_get_triggerdef`, and
|
|
51
51
|
`pg_get_functiondef` as tagged SQL data. It does not evaluate that text.
|
|
52
52
|
|
|
@@ -55,9 +55,9 @@ The query and normalization layout follows the catalog-oriented parts of the
|
|
|
55
55
|
while Qubu keeps the result as typed data instead of generating TypeScript
|
|
56
56
|
declarations.
|
|
57
57
|
|
|
58
|
-
Use `
|
|
59
|
-
`
|
|
60
|
-
Snapshot v1.
|
|
58
|
+
Use `mapCatalogToSnapshot()` or its explicit
|
|
59
|
+
`mapCatalogToCompleteSnapshot()` alias for this object set. Both produce the
|
|
60
|
+
canonical Snapshot v1 shape.
|
|
61
61
|
|
|
62
62
|
## SQLite complete catalog surface
|
|
63
63
|
|
|
@@ -67,29 +67,31 @@ table-valued PRAGMAs `database_list`, `table_list`, `table_xinfo`,
|
|
|
67
67
|
receives bound namespace or object parameters through the caller's
|
|
68
68
|
`CatalogConnection`. The reader does not interpolate a database name into SQL.
|
|
69
69
|
|
|
70
|
-
SQLite views and triggers become typed
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
SQLite views and triggers become typed catalog objects when Qubu can recover
|
|
71
|
+
their definition and target from CREATE SQL. Their SQL remains opaque data,
|
|
72
|
+
tagged with the `sqlite` dialect and a catalog reference.
|
|
73
|
+
|
|
74
|
+
Generated column expressions, declared storage types, SQLite affinity, rowid aliases, and
|
|
74
75
|
`AUTOINCREMENT` are kept as column or identity dialect extensions. User indexes
|
|
75
|
-
retain ordered column or expression terms and partial predicates.
|
|
76
|
-
|
|
76
|
+
retain ordered column or expression terms and partial predicates.
|
|
77
|
+
|
|
78
|
+
Inline UNIQUE constraints are recovered from their internal indexes with deterministic Qubu
|
|
77
79
|
names, so SQLite's `sqlite_autoindex_*` names do not become persisted logical
|
|
78
80
|
IDs.
|
|
79
81
|
|
|
80
82
|
SQLite virtual tables and shadow tables remain typed deferred objects with an
|
|
81
|
-
`unmodeled-object` diagnostic.
|
|
82
|
-
|
|
83
|
+
`unmodeled-object` diagnostic.
|
|
84
|
+
|
|
85
|
+
A selected attached database can expose table PRAGMA rows, but its schema SQL is outside the fixed `main` and `temp`
|
|
83
86
|
statements. Qubu marks that result as limited and keeps other attached
|
|
84
87
|
databases as opaque boundary records. It never combines attached databases into
|
|
85
88
|
the selected namespace. SQLite does not provide the PostgreSQL object families
|
|
86
89
|
such as routines, materialized views, policies, or ownership, so the reader
|
|
87
90
|
does not fabricate them.
|
|
88
91
|
|
|
89
|
-
`
|
|
90
|
-
objects, opaque boundaries, and dialect
|
|
91
|
-
|
|
92
|
-
behavior.
|
|
92
|
+
`mapCatalogToSnapshot()` delegates to `mapCatalogToCompleteSnapshot()` and
|
|
93
|
+
retains typed views, triggers, deferred objects, opaque boundaries, and dialect
|
|
94
|
+
extensions in Snapshot v1.
|
|
93
95
|
|
|
94
96
|
The query and normalization seams follow the catalog-reading portions of the
|
|
95
97
|
[Drizzle SQLite introspector](https://github.com/drizzle-team/drizzle-orm/blob/main/drizzle-kit/src/introspect-sqlite.ts).
|
|
@@ -102,21 +104,28 @@ strict Snapshot v1 result through a separate controlled printer.
|
|
|
102
104
|
|
|
103
105
|
The MySQL reader accepts MySQL 8.0.16 and later within the MySQL 8 series. It
|
|
104
106
|
rejects MariaDB and older MySQL versions instead of applying MySQL catalog
|
|
105
|
-
rules to a different product or server version.
|
|
106
|
-
|
|
107
|
+
rules to a different product or server version.
|
|
108
|
+
|
|
109
|
+
It reads `INFORMATION_SCHEMA` rows for one selected database and retains database-provided SQL as tagged,
|
|
107
110
|
unevaluated MySQL data.
|
|
108
111
|
|
|
109
|
-
MySQL has typed
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
MySQL has typed records for:
|
|
113
|
+
|
|
114
|
+
- Views.
|
|
115
|
+
- Routines and their parameters.
|
|
116
|
+
- Triggers and partitions.
|
|
117
|
+
- Collations used by selected tables or columns.
|
|
118
|
+
- Comments.
|
|
119
|
+
|
|
120
|
+
View definitions come from `INFORMATION_SCHEMA.VIEWS`; each view's
|
|
112
121
|
columns are joined back to the matching `COLUMNS` rows by physical table name,
|
|
113
|
-
so the complete Snapshot
|
|
122
|
+
so the complete Snapshot v1 cross-reference points at the view's own column
|
|
114
123
|
IDs. Missing view definitions or unresolved trigger, partition, or other
|
|
115
124
|
object references become deferred records with diagnostics.
|
|
116
125
|
|
|
117
126
|
Scheduled events are retained as `CatalogOpaqueObject` records. Their event
|
|
118
127
|
metadata and definition remain opaque, and the reader emits an
|
|
119
|
-
`unmodeled-object` warning. Snapshot
|
|
128
|
+
`unmodeled-object` warning. Snapshot v1 keeps these records in
|
|
120
129
|
`opaqueObjects`; they are not treated as typed routines, triggers, or
|
|
121
130
|
migration operations.
|
|
122
131
|
|
|
@@ -132,13 +141,12 @@ The query and normalization layout follows the catalog-reading portions of the
|
|
|
132
141
|
while Qubu keeps the result as typed data instead of generating TypeScript
|
|
133
142
|
declarations.
|
|
134
143
|
|
|
135
|
-
Use `mapCatalogToCompleteSnapshot()` to retain these
|
|
136
|
-
the opaque or deferred boundaries in Snapshot
|
|
137
|
-
when a caller explicitly needs the existing table-only Snapshot v1.
|
|
144
|
+
Use `mapCatalogToSnapshot()` or `mapCatalogToCompleteSnapshot()` to retain these
|
|
145
|
+
typed MySQL families and the opaque or deferred boundaries in Snapshot v1.
|
|
138
146
|
|
|
139
147
|
## Snapshot v1 surface
|
|
140
148
|
|
|
141
|
-
The mapper
|
|
149
|
+
The mapper emits these facts in canonical Snapshot v1:
|
|
142
150
|
|
|
143
151
|
- one namespace and ordinary tables;
|
|
144
152
|
- exact dialect-native column storage;
|
|
@@ -156,20 +164,17 @@ canonical content, not an identity or rename marker.
|
|
|
156
164
|
|
|
157
165
|
## Deferred and limited features
|
|
158
166
|
|
|
159
|
-
|
|
160
|
-
|
|
167
|
+
Supported object families become typed Snapshot v1 records, as described in
|
|
168
|
+
the database sections above. Limits still apply to individual features:
|
|
161
169
|
|
|
162
|
-
-
|
|
163
|
-
- sequences, enums, domains, routines, triggers, policies, extensions,
|
|
164
|
-
collations, comments, and partition metadata;
|
|
165
|
-
- PostgreSQL identity sequence options that have no typed Snapshot v1 field;
|
|
170
|
+
- PostgreSQL identity sequence options that have no typed field;
|
|
166
171
|
- SQLite virtual/shadow tables, attached namespaces, and unrecoverable
|
|
167
172
|
generated or expression definitions;
|
|
168
173
|
- MySQL/MariaDB differences, prefix indexes, invisible indexes, and advanced
|
|
169
174
|
functional, full-text, or spatial index semantics.
|
|
170
175
|
|
|
171
|
-
Use the
|
|
172
|
-
|
|
176
|
+
Use the Snapshot v1 mapper to retain supported PostgreSQL and MySQL families.
|
|
177
|
+
MySQL scheduled events stay opaque, and MySQL sequences,
|
|
173
178
|
materialized views, row-level security (RLS) policies, extension objects, and
|
|
174
179
|
ownership stay unsupported or deferred. When a row cannot be normalized safely, the reader
|
|
175
180
|
keeps a typed deferred or opaque record and emits a diagnostic instead of
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# MySQL snapshot support
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
> MySQL facts Qubu v1 can encode and the combinations that need a later server
|
|
5
|
-
> version or engine policy.
|
|
3
|
+
> Check which MySQL schema features the Snapshot v1 adapter can save.
|
|
6
4
|
|
|
7
5
|
Import the adapter from the MySQL snapshot subpath:
|
|
8
6
|
|
|
@@ -21,7 +19,7 @@ to this adapter.
|
|
|
21
19
|
|
|
22
20
|
| Schema fact | MySQL v1 behavior |
|
|
23
21
|
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
24
|
-
| Portable storage |
|
|
22
|
+
| Portable storage | Uses the mappings below. |
|
|
25
23
|
| Native storage | Preserves a non-empty declaration tagged `mysql` exactly. Native declarations owned by another dialect fail. |
|
|
26
24
|
| Literals | Encodes `NULL`, finite numbers, strings, booleans, and `bigint` without query parameters. Strings use SQL quote doubling. |
|
|
27
25
|
| Defaults | Canonical literals, branded deterministic expressions, and explicit external behavior are retained. Default expressions cannot reference columns or parameters. |
|
|
@@ -34,6 +32,23 @@ to this adapter.
|
|
|
34
32
|
| Indexes | Ordered terms, expressions, uniqueness, and candidate-key evidence are retained. Partial predicates, included columns, and `NULLS FIRST/LAST` are diagnosed. Algorithm, locking, access method, parser, and key-block options live under `dialect`. |
|
|
35
33
|
| Names | Table, column, constraint, and index names are checked against MySQL's 64-character identifier limit. Table names are database-scoped; index names are table-scoped. |
|
|
36
34
|
|
|
35
|
+
## Portable storage types
|
|
36
|
+
|
|
37
|
+
| Qubu storage | Database declaration |
|
|
38
|
+
| ------------ | -------------------- |
|
|
39
|
+
| `integer` | `INT` |
|
|
40
|
+
| `numeric` | `DECIMAL` |
|
|
41
|
+
| `text` | `TEXT` |
|
|
42
|
+
| `boolean` | `BOOLEAN` |
|
|
43
|
+
| `date` | `DATE` |
|
|
44
|
+
| `timestamp` | `DATETIME` |
|
|
45
|
+
| `uuid` | `CHAR(36)` |
|
|
46
|
+
| `json` | `JSON` |
|
|
47
|
+
| `bigint` | `BIGINT` |
|
|
48
|
+
| `binary` | `VARBINARY` |
|
|
49
|
+
|
|
50
|
+
## Diagnostics
|
|
51
|
+
|
|
37
52
|
Capability checks run before common traversal. Use the non-throwing form when
|
|
38
53
|
a schema may include a MySQL engine or version-specific feature:
|
|
39
54
|
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# PostgreSQL snapshot support
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
> PostgreSQL facts Qubu v1 can encode and the cases that need a later server
|
|
5
|
-
> version policy.
|
|
3
|
+
> Check which PostgreSQL schema features the Snapshot v1 adapter can save.
|
|
6
4
|
|
|
7
5
|
Import the adapter from the PostgreSQL snapshot subpath:
|
|
8
6
|
|
|
@@ -24,7 +22,7 @@ snapshot metadata and `unsafeSchemaSql()` use `postgresql` consistently.
|
|
|
24
22
|
|
|
25
23
|
| Schema fact | PostgreSQL v1 behavior |
|
|
26
24
|
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
27
|
-
| Portable storage |
|
|
25
|
+
| Portable storage | Uses the mappings below. |
|
|
28
26
|
| Native storage | Preserves a non-empty declaration tagged `postgresql` exactly. Other dialect tags fail. |
|
|
29
27
|
| Literals | Encodes finite numbers, strings, booleans, `bigint`, and `NULL` without query parameters. |
|
|
30
28
|
| Defaults | Canonical literals, branded deterministic expressions, and explicit external behavior are retained. Column references in defaults fail. |
|
|
@@ -41,6 +39,21 @@ deterministic data for the `qubu/snapshot` decoder. The package-wide
|
|
|
41
39
|
[ownership map](supported-surface.md#ownership-boundary) shows the separate
|
|
42
40
|
schema and application boundaries.
|
|
43
41
|
|
|
42
|
+
## Portable storage types
|
|
43
|
+
|
|
44
|
+
| Qubu storage | Database declaration |
|
|
45
|
+
| ------------ | -------------------- |
|
|
46
|
+
| `integer` | `INTEGER` |
|
|
47
|
+
| `numeric` | `NUMERIC` |
|
|
48
|
+
| `text` | `TEXT` |
|
|
49
|
+
| `boolean` | `BOOLEAN` |
|
|
50
|
+
| `date` | `DATE` |
|
|
51
|
+
| `timestamp` | `TIMESTAMP` |
|
|
52
|
+
| `uuid` | `UUID` |
|
|
53
|
+
| `json` | `JSONB` |
|
|
54
|
+
| `bigint` | `BIGINT` |
|
|
55
|
+
| `binary` | `BYTEA` |
|
|
56
|
+
|
|
44
57
|
## Diagnostics
|
|
45
58
|
|
|
46
59
|
Use the non-throwing form when a schema may contain a server-specific feature:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SQLite snapshot support
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Check which SQLite schema features the Snapshot v1 adapter can save.
|
|
4
4
|
|
|
5
5
|
Import the adapter from the SQLite snapshot subpath:
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ to distinguish it from the query renderer. A dialect-tagged
|
|
|
20
20
|
|
|
21
21
|
| Schema fact | SQLite v1 behavior |
|
|
22
22
|
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
23
|
-
| Portable storage |
|
|
23
|
+
| Portable storage | Uses the mappings below. SQLite affinity is also recorded. |
|
|
24
24
|
| Native storage | Preserves a non-empty declaration tagged `sqlite` exactly and records its affinity using SQLite's ordered declared-type rules. Other dialect tags fail. |
|
|
25
25
|
| Literals | Encodes `NULL`, finite numbers, strings, `bigint`, and booleans as parameter-free SQL. Boolean literals use `1` and `0`; strings retain SQL escaping. |
|
|
26
26
|
| Defaults | Canonical literals, branded deterministic expressions, and explicit external behavior are retained. Default expressions cannot reference columns or parameters. |
|
|
@@ -32,6 +32,23 @@ to distinguish it from the query renderer. A dialect-tagged
|
|
|
32
32
|
| Indexes | Ordered terms, expressions, uniqueness, predicates for partial indexes, and candidate-key evidence are retained. Included columns are diagnosed as unsupported. The typed SQLite index extension is encoded under `dialect`. |
|
|
33
33
|
| Namespaces | An optional unqualified namespace is retained; Qubu does not attach or inspect SQLite databases. |
|
|
34
34
|
|
|
35
|
+
## Portable storage types
|
|
36
|
+
|
|
37
|
+
| Qubu storage | Database declaration |
|
|
38
|
+
| ------------ | -------------------- |
|
|
39
|
+
| `integer` | `INTEGER` |
|
|
40
|
+
| `numeric` | `NUMERIC` |
|
|
41
|
+
| `text` | `TEXT` |
|
|
42
|
+
| `boolean` | `INTEGER` |
|
|
43
|
+
| `date` | `TEXT` |
|
|
44
|
+
| `timestamp` | `TEXT` |
|
|
45
|
+
| `uuid` | `TEXT` |
|
|
46
|
+
| `json` | `TEXT` |
|
|
47
|
+
| `bigint` | `INTEGER` |
|
|
48
|
+
| `binary` | `BLOB` |
|
|
49
|
+
|
|
50
|
+
## Diagnostics
|
|
51
|
+
|
|
35
52
|
Capability checks run before common traversal. Use the non-throwing form when a
|
|
36
53
|
schema may include a feature that depends on a SQLite version or table shape:
|
|
37
54
|
|