Я пытаюсь выполнить простую задачу postgresql с Пентахо. Мне нужно обновить значение JSONB, основываясь на вводе пользователя. Таким образом, это выглядит так:
UPDATE table
set column = jsonb_set(
column,
'{path}',
'${new_param_value}'
)
WHERE id = ${id_param}
Я добавил предупреждение и проверил сетевой вызов, оба указывают, что передаются правильные значения параметров. Однако значение никогда не обновляется. Если я подставлю введенное пользователем значение параметра жестко закодированным числом, оно будет работать, как и ожидалось.
Пример: значение успешно обновлено до 3, независимо от ввода
UPDATE table
set column = jsonb_set(
column,
'{path}',
'3'
)
WHERE id = ${id_param}
Я думаю, что там проблема с поиском параметра, если он находится внутри фигурных скобок {}. Я пытался использовать `тиковые метки, чтобы учесть это, и использовать предложение WITH перед моим утверждением, но все еще застрял Любое предложение помогает!