SdbJoinSourceExtension<K extends SdbKey, V extends SdbValue, SK extends SdbKey> extension

Join methods on a store.

A join hands out one of three things, and only reads what it hands out: the rows (joinIterate, findJoinRows), the source records (joinIterateRecords, findJoinRecords) or the joined records (joinIterateJoinedRecords, findJoinedRecords). Join methods, on any join source.

This is where a join is actually run; the extensions on a store and on an index are sugar building the source for you.

A join hands out one of three things, and only reads what it hands out: the rows (joinIterate, findJoinRows), the source records (joinIterateRecords, findJoinRecords) or the joined records (joinIterateJoinedRecords, findJoinedRecords).

on

Methods

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<K, V, SK>, provided by the SdbJoinSourceExtension extension

The records joinIterateJoinedRecords would hand out, as a list.
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<K, V, SK>, provided by the SdbJoinSourceExtension extension

The records joinIterateRecords would hand out, as a list.
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<K, V, SK>, provided by the SdbJoinSourceExtension extension

The rows joinIterate would hand out, as a list.
joinCount<JK extends SdbKey, JV extends SdbValue>(SdbClient client, {required SdbJoinTarget<JK, JV> target, SdbFindOptions<SK>? options, SdbJoinFindOptions? joinOptions}) Future<int>

Available on SdbJoinSource<K, V, SK>, provided by the SdbJoinSourceExtension extension

The number of rows joinIterate would hand out.
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<K, V, SK>, provided by the SdbJoinSourceExtension extension

Iterate the records of this source, each with the record(s) it references.
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<K, V, SK>, provided by the SdbJoinSourceExtension extension

Iterate the records this source references, without reading the source records.
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<K, V, SK>, provided by the SdbJoinSourceExtension extension

Iterate the records of this source taking part in the join, without reading the records they reference.