GROOVY-11541: Sql wildcard params by seregamorph · Pull Request #2139 · apache/groovy
https://issues.apache.org/jira/browse/GROOVY-11541
groovy.sql.Sql declares several methods with SQL statement and parameters like this
public boolean execute(String sql, List<Object> params) throws SLQException {
This declaration has one major drawback: it's not possible to pass as an argument the List which is not exactly List<Object>, e.g. List<Integer>.
This List is only iterated, hence using wildcard here is safe. Also changing the type to wildcard as receiving argument should be binary compatible.
Suggested method signature (example; address all such methods of Sql class):
public boolean execute(String sql, List<?> params) throws SLQException {
Additional notes:
- there are few methods that return
List<Object>, e.g.SqlWithParams.getParams()- in this case the Object generic should be preserved. - For reference: pretty similar problem solved for cassandra-java-driver apache/cassandra-java-driver@be07a77