-
Notifications
You must be signed in to change notification settings - Fork 642
Closed
ovos/objection.js
#13Description
Greetings,
Subqueries using .with are no longer working as expected when I upgrade from 1.4.0 to 1.5.3.
return Model
.query()
.with(
'pager_subquery',
query
)
.count()
.from('pager_subquery')
.first();The above code takes a query, which is an objection model .query() and uses it to construct a subquery using .with to return a basic row count.
Under 1.4.0, the following correct SQL is generated:
with "pager_subquery" as (select "posts".* from "posts" where "posts"."postable_id" in ($1) and "postable_type" = $2 and "posts"."deleted_at" is null order by "stats"#>'{scores,low}' desc) select count(*) from "pager_subquery"Under 1.5.3, the following incorrect SQL is generated:
with "pager_subquery" as (select "pager_subquery".* from "pager_subquery" where "pager_subquery"."postable_id" in ($1) and "postable_type" = $2 and "posts"."deleted_at" is null order by "stats"#>'{scores,low}' desc) select count(*) from "pager_subquery"
It appears that under 1.5.3, the original query object loses its model tablename and/or is overridden by the .from('pager_subquery') method call.
I had a look through the change log and couldn't find anything that indicates that this behaviour has changed.
Is this a bug or has Objection changed this behaviour? If the latter, any hints or clues would appreciated.
Libraries:
- knex:
0.16.3 - pg:
7.8.0 - db: Postgres 10.5
Metadata
Metadata
Assignees
Labels
No labels