<moving this to the dev ML>

Robert Huffman <robert.huff...@gmail.com> schrieb am Do., 19. Mai 2016 um
15:32 Uhr:

> Actually, Iterable doesn't work: in fillStatement you need to know the size
> and that's not easily obtainable from an Iterable. So I'm using Collection
> instead.
>
> I cloned the project and have QueryRunner.query working already. Basically
> I changed the private query method to take a Collection instead of varargs
> for the parameters. A public method is added that takes a Collection, and
> the public methods that take arrays simply use Arrays.asList on the
> arrays.  You can check out the approach here:
>
>
> https://github.com/rhuffman/commons-dbutils/tree/feature/allow-collections-of-parameters-in-QueryRunner
>
> I will take the same approach on update, insert and batch, create a JIRA
> and attach a patch.
>

I've added a few comments. Looks good to me overall.


>
>
>
>
> On Thu, May 19, 2016 at 6:02 AM, Benedikt Ritter <brit...@apache.org>
> wrote:
>
> > Hello Robert,
> >
> > Robert Huffman <robert.huff...@gmail.com> schrieb am Mi., 18. Mai 2016
> um
> > 19:00 Uhr:
> >
> > > If a prepared statement is built dynamically, with a variable number of
> > > parameters, and parameters are collected in a Collection of some sort
> > > instead of an array, usage QueryRunner requires that the collection be
> > > converted to an array first. This means the parameters are iterated
> > twice:
> > > once to convert to an array and once again in
> QueryRunner.fillStatement.
> > >
> > > Would it violate a design decision if methods were added to QueryRunner
> > > that took the parameters as an Iterable instead of as varags? It should
> > be
> > > straightforward to add such methods and use an Iterable wrapper around
> an
> > > array to have the varargs methods invoke the new methods that take
> > > Iterables.
> > >
> > > I would be happy to submit a patch if this does not violate some sort
> of
> > > design decision I am not aware of and if the implementation approach
> > sounds
> > > reasonable.
> > >
> >
> > Sounds like a reasonable addition, although I'm not sure I understand
> your
> > proposal with the "Iterable wrapper around an array". Feel free to
> create a
> > JIRA and provide a patch/github PR for adding this functionality. Further
> > design discussions about this addition should go to the dev mailing list.
> >
> > Benedikt
> >
>

Reply via email to