fix: SelectQueryBuilder builds incorrectly escaped alias in Oracle when used on entity with composite key (#9668)

* Update SelectQueryBuilder.ts

Bug fix, In case a unique alias is created in first query then result was not getting mapped properly.

* lint fix

---------

Co-authored-by: Dmitry Zotov <dmzt08@gmail.com>
This commit is contained in:
Alankarsharma 2023-04-15 14:53:32 +05:30 committed by GitHub
parent f6a3ce732d
commit 83c6c0ed80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3491,10 +3491,14 @@ export class SelectQueryBuilder<Entity extends ObjectLiteral>
return metadata.primaryColumns
.map((primaryColumn) => {
const paramKey = `orm_distinct_ids_${index}_${primaryColumn.databaseName}`
const paramKeyResult =
DriverUtils.buildAlias(
this.connection.driver,
"ids_" + mainAliasName,
primaryColumn.databaseName,
)
parameters[paramKey] =
result[
`ids_${mainAliasName}_${primaryColumn.databaseName}`
]
result[paramKeyResult]
return `${mainAliasName}.${primaryColumn.propertyPath}=:${paramKey}`
})
.join(" AND ")