SdbJoinSource<K extends SdbKey, V extends SdbValue, SK extends SdbKey> class
abstract
What a join iterates, and where it reads the join key of each record.
Either a store, in primary key order, or an index, in index key order. The mirror of SdbJoinTarget: a join is one source and one target, and every join method takes both.
The third type parameter is the key the iteration is ordered and bounded
by: the primary key of a store, the index key of an index. It is what
SdbFindOptions applies to, so the boundaries of a join always have the
type of the key that is actually walked.
Build one with the asJoinSource getter on a store or an index, or with
asJoinSourceAt on a store to read the join key from a field:
bookStore.asJoinSourceAt('authorId') // store, join key in a field
postStore.asJoinSource // store, join key is its primary key
bookAuthorIndex.asJoinSource // index, join key is its index key
- Available extensions
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
index
→ SdbIndexRef<
K, V, SdbIndexKey> ? -
The index the records are walked through, null when store is walked in
primary key order.
no setter
- joinKeyPath → String?
-
Field path holding the join key, null when the key the iteration is
ordered by is the join key.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
store
→ SdbStoreRef<
K, V> -
The store holding the iterated records, whichever way they are walked.
no setter
Methods
-
countRecords(
SdbClient client, SdbFindOptions< SK> ? options) → Future<int> -
Internal: the number of records
optionsselects, without any join. -
findJoinedRecords<
JK extends SdbKey, JV extends SdbValue> (SdbClient client, {required SdbJoinTarget< JK, JV> target, SdbFindOptions<SK> ? options, SdbJoinFindOptions? joinOptions}) → Future<List< SdbRecordSnapshot< >JK, JV> > -
Available on SdbJoinSource<
The records joinIterateJoinedRecords would hand out, as a list.K, V, SK> , provided by the SdbJoinSourceExtension extension -
findJoinRecords<
JK extends SdbKey, JV extends SdbValue> (SdbClient client, {required SdbJoinTarget< JK, JV> target, SdbFindOptions<SK> ? options, SdbJoinFindOptions? joinOptions}) → Future<List< SdbRecordSnapshot< >K, V> > -
Available on SdbJoinSource<
The records joinIterateRecords would hand out, as a list.K, V, SK> , provided by the SdbJoinSourceExtension extension -
findJoinRows<
JK extends SdbKey, JV extends SdbValue> (SdbClient client, {required SdbJoinTarget< JK, JV> target, SdbFindOptions<SK> ? options, SdbJoinFindOptions? joinOptions}) → Future<List< SdbJoinRow< >K, V, JK, JV> > -
Available on SdbJoinSource<
The rows joinIterate would hand out, as a list.K, V, SK> , provided by the SdbJoinSourceExtension extension -
joinCount<
JK extends SdbKey, JV extends SdbValue> (SdbClient client, {required SdbJoinTarget< JK, JV> target, SdbFindOptions<SK> ? options, SdbJoinFindOptions? joinOptions}) → Future<int> -
Available on SdbJoinSource<
The number of rows joinIterate would hand out.K, V, SK> , provided by the SdbJoinSourceExtension extension -
joinIterate<
JK extends SdbKey, JV extends SdbValue> (SdbClient client, {required SdbJoinTarget< JK, JV> target, SdbTransactionMode? mode, SdbFindOptions<SK> ? options, SdbJoinFindOptions? joinOptions, required SdbJoinRowHandler<K, V, JK, JV> onRow}) → Future<void> -
Available on SdbJoinSource<
Iterate the records of this source, each with the record(s) it references.K, V, SK> , provided by the SdbJoinSourceExtension extension -
joinIterateJoinedRecords<
JK extends SdbKey, JV extends SdbValue> (SdbClient client, {required SdbJoinTarget< JK, JV> target, SdbTransactionMode? mode, SdbFindOptions<SK> ? options, SdbJoinFindOptions? joinOptions, required SdbJoinRecordHandler<JK, JV> onRecord}) → Future<void> -
Available on SdbJoinSource<
Iterate the records this source references, without reading the source records.K, V, SK> , provided by the SdbJoinSourceExtension extension -
joinIterateRecords<
JK extends SdbKey, JV extends SdbValue> (SdbClient client, {required SdbJoinTarget< JK, JV> target, SdbTransactionMode? mode, SdbFindOptions<SK> ? options, SdbJoinFindOptions? joinOptions, required SdbJoinRecordHandler<K, V> onRecord}) → Future<void> -
Available on SdbJoinSource<
Iterate the records of this source taking part in the join, without reading the records they reference.K, V, SK> , provided by the SdbJoinSourceExtension extension -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
sourceBoundariesOf(
SdbFindOptions< SK> ? options) → SdbBoundaries<K> ? - Internal: the boundaries to hand to the store scan, null when walking an index (the boundaries then apply to the index key, and only reach the scan as a resolved range).
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited