Я использую sql.firstRow
, чтобы проверить, существует ли строка в базе данных postgres по некоторым критериям.
def cur = sql.firstRow(r, '''
SELECT "some_thing"
FROM "my_table"
WHERE "customer_name" = :customer_name
AND "sad_date" = :sad_date
AND "forgiver" = :forgiver
''')
Я считаю, что это работает:
if (cur){
log.debug("Found Some thing " + cur["some_thing"])
log.debug("Cur: " + cur.keySet())
}
однако этопозволяет вводить любые строки, в которых отсутствует поле some_field.
ISSUE
Чтобы избежать этого, когда мы пытаемся проверить наличие непустого значения дляsome_field
в строке результатов, например:
if (cur && "${cur.some_thing}" ){
log.debug("Found Some thing " + cur["some_thing"])
}
ОШИБКА
Я получаю ошибку , предполагающую:
No signature of `String.positive` for argument types for the given type.
Я прочитал этот вопрос и изменил с cur.some_thing
и cur['some_thing']
на "$ {cur.some_thing}", но ошибка не исчезла
У меня также естьпопробовал этот пост и попытался использовать cur.getProperty("some_thing")
и все равно выдает ту же ошибку.