js-bao 0.12.0-alpha.0 → 0.12.0-alpha.2
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 +33 -0
- package/dist/browser.cjs +1660 -450
- package/dist/browser.d.cts +1418 -985
- package/dist/browser.d.ts +1418 -985
- package/dist/browser.js +1658 -448
- package/dist/client.cjs +150 -87
- package/dist/client.d.cts +390 -17
- package/dist/client.d.ts +390 -17
- package/dist/client.js +150 -87
- package/dist/cloudflare-do.cjs +555 -130
- package/dist/cloudflare-do.d.cts +3279 -2680
- package/dist/cloudflare-do.d.ts +3279 -2680
- package/dist/cloudflare-do.js +555 -130
- package/dist/cloudflare.cjs +164 -94
- package/dist/cloudflare.d.cts +413 -28
- package/dist/cloudflare.d.ts +413 -28
- package/dist/cloudflare.js +164 -94
- package/dist/codegen-v2.cjs +59 -15
- package/dist/format2-worker.js +754 -175
- package/dist/index.cjs +1758 -520
- package/dist/index.d.cts +1047 -635
- package/dist/index.d.ts +1047 -635
- package/dist/index.js +1749 -517
- package/dist/node.cjs +1765 -520
- package/dist/node.d.cts +1061 -628
- package/dist/node.d.ts +1061 -628
- package/dist/node.js +1753 -517
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1559,6 +1559,39 @@ See the `examples/` directory for complete working examples:
|
|
|
1559
1559
|
Changes to the on-disk behaviour of `js-bao/cloudflare/do` (`DurableObjectEngine`)
|
|
1560
1560
|
that a store's owner can observe. Newest first.
|
|
1561
1561
|
|
|
1562
|
+
- **New stores get a record-first StringSet table** (#3877). A store the
|
|
1563
|
+
engine creates declares `stringset_index` with `UNIQUE(_type, _record_id,
|
|
1564
|
+
field, value)` (record-first) instead of `UNIQUE(_type, field, _record_id,
|
|
1565
|
+
value)` (field-first). That key serves every statement
|
|
1566
|
+
`idx_ss_type_record_field` served, so on a record-first table the index is
|
|
1567
|
+
retired: the engine never builds it there and removes any copy on open, by
|
|
1568
|
+
definition and under any name, and a StringSet value costs three rows written
|
|
1569
|
+
instead of four. A unique key cannot be altered in place, so an existing store
|
|
1570
|
+
keeps the shape it has, both member indexes included; both shapes are
|
|
1571
|
+
supported and return the same results, in the same value order.
|
|
1572
|
+
`engine.memberTableShape` answers the stored shape, and the new export
|
|
1573
|
+
`DURABLE_OBJECT_SCHEMA_OPTIONS` is the schema options a new store is created
|
|
1574
|
+
with. `JsonSchemaDDL`'s output for every existing option is unchanged, so
|
|
1575
|
+
client stores keep the field-first table. On the platform, a large document
|
|
1576
|
+
converts at its next bulk-load ingest and a plain document at its next
|
|
1577
|
+
projection rebuild; databases keep their shape. `rebuildMemberTable` is
|
|
1578
|
+
`@internal`, used only by that rebuild. Rollback floor: do not roll back past
|
|
1579
|
+
the last release before this one while an ingest is running; a store opened
|
|
1580
|
+
by an older release re-creates `idx_ss_type_record_field`, and this release
|
|
1581
|
+
removes it again on its next open. See also the `_indexes.created_at` entry
|
|
1582
|
+
below.
|
|
1583
|
+
- **`idx_records_type` is retired** (#3876). The primary key `(_type, _id)`
|
|
1584
|
+
already leads with `_type`, so a new store no longer builds the index and an
|
|
1585
|
+
existing one loses it on its next open, removed by definition under any name
|
|
1586
|
+
(an ingest-suffixed copy included); a record insert writes one row fewer.
|
|
1587
|
+
Dropping a field index or a unique constraint keeps the physical index while
|
|
1588
|
+
another registration still maps to the same definition, under the name it
|
|
1589
|
+
already has; a later index whose canonical name that kept index holds is
|
|
1590
|
+
created as `<canonical name>_2` (or the next free suffix). Duplicate copies of a
|
|
1591
|
+
definition the engine owns (base, retired or registered) collapse to one on
|
|
1592
|
+
open; an index created outside the engine is never dropped. Index definitions
|
|
1593
|
+
now compare with quoted literals verbatim, so `WHERE _type = 'a b'` and
|
|
1594
|
+
`WHERE _type = 'ab'` are different indexes. Client stores are unchanged.
|
|
1562
1595
|
- **`_indexes.created_at` reports the first registration** (#3875). Re-registering
|
|
1563
1596
|
a field index whose `field_type` and `is_unique` are unchanged no longer
|
|
1564
1597
|
rewrites its `_indexes` row: it writes no row, and `created_at` keeps the time
|