У меня есть SQL-запрос для обновления значения status
в столбце data
типа jsonb
в Postgresql, который выглядит следующим образом:
update sample
set updated = now(),
data = jsonb_set(data, '{status}', jsonb 'CANCELLED', true)
where id = 11;
Мне нужно перевести это на рабочийjOOQ-запрос в моем проекте Kotlin ... У меня пока есть это:
jooq.update(Tables.SAMPLE)
.set(Tables.SAMPLE.UPDATED, OffsetDateTime.now())
.set(Tables.SAMPLE.DATA, field("jsonb_set(data, '{status}', jsonb '\"CANCELLED\"', true)"))
.where(Tables.SAMPLE.ID.eq(id))
.execute()
Но второй set
завершается неудачно с Ни одна из следующих функций не может быть вызвана с предоставленными аргументами сообщение об ошибке ... Какую правильную подпись set
я могу использовать здесь?
Я основываю свой синтаксис jOOQ на ответе, который Лукас Эдер предоставил в Использование необработанных выражений значений в UPDATE с jooq