Sql.eachRow actually passes objects of type "GroovyResultSet" to the closure. Documentation says "The row will be a GroovyRowResult" (wrong).
The documentation example(s) are actually correct. They use "row.toRowResult()" to get to the desired "GroovyRowResult"
http://groovy.codehaus.org/api/groovy/sql/Sql.html#eachRow(java.lang.String, groovy.lang.Closure, groovy.lang.Closure)
In all, six occurences of eachRow() variants show that "The row will be a GroovyRowResult" line.