Как избежать кавычек вокруг псевдонимов таблицы в jOOQ
У меня есть следующее создание запроса выбора:
final DSLContext create = DSL.using(..., SQLDialect.POSTGRES);
create
.select(DSL.field("identifier"), DSL.field("name"),
create.selectCount()
.from(DSL.table("person"))
.where(DSL.field("identifier").eq(DSL.field("personOuter.identifier")))
.asField("count"))
.from(DSL.table("person").as("personOuter"))
jOOQ генерирует следующий запрос:
select
identifier,
name,
(select count(*)
from person
where identifier = personOuter.identifier) as "count"
from person as "personOuter"
Запрос должен быть:
select
identifier,
name,
(select count(*)
from person
where identifier = personOuter.identifier) as "count"
from person as personOuter
Последний запрос прекрасно работает в PostgreSQL. Псевдоним таблицы не должен быть заключен в кавычки.
Это ошибка?
(Обратите внимание, что запрос довольно тупой. Я играюсь с jOOQ для оценки.)
Работает следующий "хак":
create
.select(DSL.field("identifier"), DSL.field("name"),
create.selectCount()
.from(DSL.table("person"))
.where(DSL.field("identifier").eq(DSL.field("personOuter.identifier")))
.asField("count"))
.from("person as personOuter")