The groovy.sql.Sql.eachRow functions do not support named parameters it would be nice if they did. Also, the rows(sql, params) function is the only rows function to support named parameters, it seems to use some unexpected (to me) behaviour of reflection that causes the passed in map to be placed into an array (thus calling rows(String sql, Object params)). Test cases for these have been attached.
A suggested fix would be to add overloaded methods which expect Maps and place them in a List. This could also be expanded to include the methods:
I have put together a quick subclass of Sql which adds these methods and could be merged into the the Sql class if desired. If there is any interest in this fix I'll look at adding more test cases.
It might be worth noting that the main reason I become interested in using the named parameter variants as opposed to the GString implementations is that the docs did not indicate that the GStrings used parameter replacement (which I now know they do from reading the source) so it might be a good addition to the docs to have this mentioned.