Groovy Sql Execute Statement не принимает закрытие
У меня есть заявление:
sqlInstance.execute(executeString){
dummy, realList->
debug("Real LIst: "+realList)
}
который завершается с "Неверный тип столбца"
Но:
def bool = sqlInstance.execute(executeString)
работает. Если я печатаю bool, он печатается как "true".
Для справки:
executeString = "select distinct channel_id from guide_sched"
По какой-то причине замыкание не работает для метода execute в Sql groovy, хотя я проверил документацию и должен был это сделать.
1 ответ
Решение
Похоже, что первая среда, на которой я тестировал, запускала Groovy 2.4, а вторая - Groovy 2.1. Оператор execute, который я использовал, существовал только после версии 2.1
Вместо этого я использовал функцию.rows(), чтобы вернуть GroovyRowResult, который я проанализировал на предмет необходимой мне информации, вместо того, чтобы обращаться к ней непосредственно в закрытии.execute().