InnerTableLinkAccessor

Property delegate companion to InnerTableLink — implements SizedIterable over the linked targets of entity via the join table defined by link. R2DBC-specific because the iteration is built around Flow.collect, whereas the JDBC implementation uses blocking iteration directly on InnerTableLink.

Assignment (entity.targets = SizedCollection(values)) is captured into the entity cache's pendingInnerTableLinkUpdates and replayed during the next EntityCache.flush — this keeps the write surface non-suspending so it can be used inside property setters.

SizedIterable methods are delegated to an internal DeferredQuery so the iteration logic is defined in one place (doQuery) and chained operations (limit, offset, orderBy) reuse the same lazy-execution machinery.

Constructors

Link copied to clipboard
constructor(link: InnerTableLink<SID, Source, ID, Target>, entity: Source)

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open suspend override fun collect(collector: FlowCollector<Target>)
Link copied to clipboard
open override fun copy(): SizedIterable<Target>
Link copied to clipboard
open suspend override fun count(): Long
Link copied to clipboard
open suspend override fun empty(): Boolean
Link copied to clipboard
open override fun forUpdate(option: ForUpdateOption): SizedIterable<Target>
Link copied to clipboard
operator fun getValue(thisRef: Source, property: KProperty<*>): SizedIterable<Target>
Link copied to clipboard
open override fun limit(count: Int): SizedIterable<Target>
Link copied to clipboard
open override fun notForUpdate(): SizedIterable<Target>
Link copied to clipboard
open override fun offset(start: Long): SizedIterable<Target>
Link copied to clipboard
open override fun orderBy(vararg order: Pair<Expression<*>, SortOrder>): SizedIterable<Target>
Link copied to clipboard
operator fun setValue(thisRef: Source, property: KProperty<*>, value: SizedIterable<Target>)