nitrite_bridge 3.3.0
nitrite_bridge: ^3.3.0 copied to clipboard
Inspect a running application's Nitrite database from a desktop client, over a paired, loopback-by-default connection.
3.3.0 #
- Rebuilt against nitrite 3.3.0. No functional change in this package.
3.2.0 #
- First release. Versioned with the rest of the nitrite-flutter packages
rather than from 0.1.0, so a reader does not have to work out which
nitritea givennitrite_bridgepairs with. Requires nitrite 3.2.0, forTransaction.viewOf.NitriteAdapterfordbinspect_bridge: collections and handed-in repositories as stores, schema inferred from a document sample and always flagged as inferred, paging overFindOptionsskip/limit/orderBy, the JSON filter DSL, and watch over Nitrite's collection subscription. capabilities.filterOpsreportseq,ne,gt,gte,lt,lte,in,notIn,existsandtext.existsneeds nitrite 3.0.0: the operator was reported unsupported for as long as the fluent API had nothing that tested for a field's presence.- Transactions (
docs/PROTOCOL.md§3.1).beginTransaction()returns anAdapterTransactionwhose adapter is a transactional twin over the same database — a second adapter rather than a mode on the first, so one connection's uncommitted documents can never reach another connection's reads. Nitrite's transaction lives above the storage engine, so this works identically on Hive and in memory. capabilities.transactionsfollowsallowWrite: that flag is the permission, this reports what the engine can undo. The transactional twin reports itfalse, because Nitrite does not nest one.listStorescounts through the transaction, since a total that left out the rows the person just staged is not read-your-own-writes.regexis off unlessallowRegexis set, and refused with a length cap and a nested-quantifier check when it is on. Dart'sRegExpbacktracks and a match cannot be interrupted, so the default is the mitigation that matters.- Row editing behind
allowWrite:insertRow,updateRowanddeleteRow, addressed by_id. An update is partial,changes: 0means the row was not there, and_idinside an update'svaluesis refused — Nitrite merges an update document, so it would rewrite the identity of the row it just matched. - Every client-supplied store name is resolved against the set the adapter
reported:
Nitrite.getCollectioncreates a collection that does not exist, and a write goes through the same allow-list. - Sorting by a field no sampled document carries is refused rather than silently producing an arbitrary order.