sqlite_plus_orm 0.1.13
sqlite_plus_orm: ^0.1.13 copied to clipboard
Typed queries, JSON documents, search, vectors, and migrations for sqlite_plus.
0.1.13 #
Depends on sqlite_plus ^0.1.14, sqlite_plus_reactive ^0.0.1-dev.2, and sqlite_plus_changes ^0.0.1-dev.2.
Prepared statements #
- Require
sqlite_plus^0.1.14. The 0.1.12 release text remains the record of the uploaded package. - Connection-bound reusable syntax with fresh bindings and schema invalidation.
- Typed ORM prepared reads/updates and optional bounded cache (default disabled).
- Existing adapter interception/capture paths retained; unsupported shapes fall back in ORM.
- See
doc/PREPARED.mdand workspace prepared benchmarks for measured scope.
Prepared imports #
- Per-input validation/duplicate diagnostics and encoded snapshot plans.
- Atomic upsert reuse with explicit preserve-NULL/empty-text conflict policy.
- Actual SQL collation grouping, tracking/Changes/Reactive/Inspector coverage.
Changelog #
0.1.12 #
Depends on sqlite_plus ^0.1.13, sqlite_plus_reactive ^0.0.1-dev.1, and sqlite_plus_changes ^0.0.1-dev.1. The README shows the next page of books.db, a direct title update, and watch.
Direct writes #
- Typed constant/arithmetic UPDATE and selective UPSERT/atomic chunked UPSERT.
- Real unique-target/collation validation and whole-batch duplicate rejection.
- Managed versions, returned SQL snapshots and post-commit tracking reconciliation.
- Conservative pending-change protection, Changes/Reactive/Inspector integration.
- Explicit transaction/window/virtual/limit restrictions; no automatic retry.
Built-in pagination #
- Integrated keyset
.page()API with forward/backward portable cursors. - Multi-column ASC/DESC, NULL placement, key tie-breakers and query-scope validation.
- Engine/read-only API and ORM filters, codecs, serialization and tracking.
- No stored format migration, automatic indexes or change to skip/take behavior.
Reactive queries #
- Native typed watch/watchFirst/watchCount/watchAny with independent snapshots.
- Optional Changes-backed connection observes captured external/Sync commits.
- Lazy subscriptions, dependency filtering, shared reads and lifecycle cleanup.
- Depends on the published pre-releases
sqlite_plus_reactiveandsqlite_plus_changes.
0.1.11 #
Depends on sqlite_plus ^0.1.12. The README opens an ordinary file with openDatabase. The library behavior is the 0.1.10 release.
0.1.10 #
Depends on sqlite_plus ^0.1.11. The library behavior is the 0.1.9 release.
0.1.9 #
Depends on sqlite_plus ^0.1.9. The README opens on books.db. The library behavior is the 0.1.8 release.
0.1.8 #
Depends on sqlite_plus ^0.1.8. The library behavior is the 0.1.7 release.
0.1.7 #
Depends on sqlite_plus ^0.1.7.
- A generated integer key named
rowid,oid, or_rowid_is the SQLite row id when the table has noPRIMARY KEYandtable_xinfodoes not list that name.plan()does not rebuild the table for that key. - A declared primary key, a
WITHOUT ROWIDtable, and any other missing column still require a reviewed migration. - The README links the other packages on pub.dev, including a short example of each.
DbSet.openMemoryandDbSet.openDbFileremain. A secondopenDbFileof the same path while the first owner is open throwsStateError.
0.1.6 #
Depends on sqlite_plus ^0.1.6. Published number for the 0.1.4 library.
0.1.4 #
Depends on sqlite_plus 0.1.5.
@DbDocument()stores one object as JSON text.Codecs.documentcallsfromJsonandtoJson.row.card.path(r'$.title')bindsjson_extract. A returned row is decoded. The other rows stay text.- The model schema records
"document": truefor that column. The SQL type staysTEXT. AStringcolumn still uses@DbJson. DbModules,DbTokenizers, andDbVectorMetricsare documentedStringconstants.DbVectorLimitsdocuments 1 and 4096. The annotation fields stay strings, so a missing name can still be written by hand.@DbEntity(module:, tokenizer:)createsfts5,rtree, orvec0. An unknown module is rejected. A tokenizer belongs onfts5.@DbVector(dimensions)storesList<double>as little-endian float32. The default metric isl2.searchqueries an FTS5 table.nearestwritescolumn MATCH ? AND k = ?and orders bydistance.sqlite_plus_arabicandsqlite_plus_vecare registered by the application. This package does not import them.
0.1.3 #
Depends on sqlite_plus 0.1.3. pub.dev already serves 0.1.2.
@DbScalar()on an instance method or getter reads mapped fields.selectWhere((row) => row.twice() > 20)runs that body for each row. The context registerstable_methodon the connection.- A column, a JSON path, or a call accepts the engine scalars:
abs,upper,lower,length,trim,substr,replace,round,coalesce,ifNull,concat,sign,floor,ceil,sqrt,date,time,dateTime,unixEpoch, andjulianDay.
0.1.2 #
Depends on sqlite_plus 0.1.2. The page uses the Linux release-build sample and the new logo.
0.1.1 #
The package page leads with a save, a revision, and a JSON path. Depends on sqlite_plus 0.1.1.
0.1.0 #
Release number. Depends on sqlite_plus 0.1.0.
0.0.3 #
Release number. Depends on sqlite_plus 0.0.3.
0.0.2 #
Published release. Depends on sqlite_plus 0.0.2.
0.0.1-dev.1 #
First pre-release.
- Typed queries, change tracking, relationships, and reviewed migrations.
- The reading-log example ships with the package.