in exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Alias.kt [75:96]
override fun mapIdComparison(
toCompare: Any?,
booleanOperator: (Column<*>, Expression<*>) -> Op<Boolean>,
): Op<Boolean> = when (delegate) {
is CompositeIdTable -> {
(toCompare as? EntityID<CompositeID>) ?: error("toCompare must be an EntityID<CompositeID> value")
delegateIdColumns.map { column ->
val delegateColumn = originalColumn(column)
val otherValue = if (delegateColumn in toCompare.value.values) {
toCompare.value[delegateColumn as Column<EntityID<Any>>]
} else {
error("Comparison CompositeID is missing a key mapping for ${delegateColumn?.name}")
}
booleanOperator(column, column.wrap(otherValue.value as? EntityID<*> ?: otherValue))
}.compoundAnd()
}
is IdTable<*> -> {
val singleId = delegateIdColumns.single()
booleanOperator(singleId, singleId.wrap(toCompare))
}
else -> error("idColumns for mapping are only available from IdTable instances")
}