SdbStoreRefJoinExtension<K extends SdbKey, V extends SdbValue> extension

Join methods on a store, sugar over asJoinSource/asJoinSourceAt.

Every method takes the same options as its SdbJoinSourceExtension counterpart, plus the joinKeyPath the join key is read at (null for the primary key of the source record, which is what a one to many join from the parent side needs).

Prefer the index extension when the join key path is indexed: it says so in the API, and an implementation able to join natively then reads the join key straight from the index.

on

Methods

findJoinedRecords<JK extends SdbKey, JV extends SdbValue>(SdbClient client, {required SdbJoinTarget<JK, JV> target, String? joinKeyPath, SdbFindOptions<K>? options, SdbJoinFindOptions? joinOptions}) Future<List<SdbRecordSnapshot<JK, JV>>>

Available on SdbStoreRef<K, V>, provided by the SdbStoreRefJoinExtension extension

See SdbJoinSourceExtension.findJoinedRecords.
findJoinRecords<JK extends SdbKey, JV extends SdbValue>(SdbClient client, {required SdbJoinTarget<JK, JV> target, String? joinKeyPath, SdbFindOptions<K>? options, SdbJoinFindOptions? joinOptions}) Future<List<SdbRecordSnapshot<K, V>>>

Available on SdbStoreRef<K, V>, provided by the SdbStoreRefJoinExtension extension

See SdbJoinSourceExtension.findJoinRecords.
findJoinRows<JK extends SdbKey, JV extends SdbValue>(SdbClient client, {required SdbJoinTarget<JK, JV> target, String? joinKeyPath, SdbFindOptions<K>? options, SdbJoinFindOptions? joinOptions}) Future<List<SdbJoinRow<K, V, JK, JV>>>

Available on SdbStoreRef<K, V>, provided by the SdbStoreRefJoinExtension extension

See SdbJoinSourceExtension.findJoinRows.
joinCount<JK extends SdbKey, JV extends SdbValue>(SdbClient client, {required SdbJoinTarget<JK, JV> target, String? joinKeyPath, SdbFindOptions<K>? options, SdbJoinFindOptions? joinOptions}) Future<int>

Available on SdbStoreRef<K, V>, provided by the SdbStoreRefJoinExtension extension

See SdbJoinSourceExtension.joinCount.
joinIterate<JK extends SdbKey, JV extends SdbValue>(SdbClient client, {required SdbJoinTarget<JK, JV> target, String? joinKeyPath, SdbTransactionMode? mode, SdbFindOptions<K>? options, SdbJoinFindOptions? joinOptions, required SdbJoinRowHandler<K, V, JK, JV> onRow}) Future<void>

Available on SdbStoreRef<K, V>, provided by the SdbStoreRefJoinExtension extension

See SdbJoinSourceExtension.joinIterate.
joinIterateJoinedRecords<JK extends SdbKey, JV extends SdbValue>(SdbClient client, {required SdbJoinTarget<JK, JV> target, String? joinKeyPath, SdbTransactionMode? mode, SdbFindOptions<K>? options, SdbJoinFindOptions? joinOptions, required SdbJoinRecordHandler<JK, JV> onRecord}) Future<void>

Available on SdbStoreRef<K, V>, provided by the SdbStoreRefJoinExtension extension

See SdbJoinSourceExtension.joinIterateJoinedRecords.
joinIterateRecords<JK extends SdbKey, JV extends SdbValue>(SdbClient client, {required SdbJoinTarget<JK, JV> target, String? joinKeyPath, SdbTransactionMode? mode, SdbFindOptions<K>? options, SdbJoinFindOptions? joinOptions, required SdbJoinRecordHandler<K, V> onRecord}) Future<void>

Available on SdbStoreRef<K, V>, provided by the SdbStoreRefJoinExtension extension

See SdbJoinSourceExtension.joinIterateRecords.