RE: Binding Array in SQLTemplate

From: Рябицкий Евгени (eryabitski..iasoft.ru)
Date: Fri Dec 11 2009 - 07:56:05 EST

  • Next message: Andrus Adamchik: "Re: Hudson unit test runs"

    Ok.

    I have same thoughts, but was surprised by this result and didn't find any word about arrays binding in docs...
    So I'm creating an issue.

    Evgeny.
     

    -----Original Message-----
    From: Andrus Adamchik [mailto:andru..bjectstyle.org]
    Sent: Friday, December 11, 2009 3:51 PM
    To: de..ayenne.apache.org
    Subject: Re: Binding Array in SQLTemplate

    Ah good catch. Looking at the BindDirective code, it doesn't properly
    support arrays, only collections. I guess we need to change that and
    treat arrays the same way.

    Andrus

    On Dec 11, 2009, at 5:42 AM, Evgeny Ryabitskiy wrote:

    > No answer...
    > But history points to Andrus :)
    >
    > Evgeny.
    >
    > 10 декабря 2009 г. 10:55 пользователь Рябицкий Евгений
    > <eryabitski..iasoft.ru> написал:
    >> Hello!
    >> I try to use array (like String[]) as a bind parameter.
    >>
    >> In follow lines:
    >>
    >> String[] artistNames = new String[2];
    >> artistNames[0] = "Artist1";
    >> artistNames[1] = "Artist3";
    >> String sql = "SELECT * FROM ARTIST WHERE ARTIST_NAME in
    >> (#bind($ARTISTNAMES))";
    >> SQLTemplate query = new SQLTemplate(Artist.class, sql);
    >> query.setParameters(Collections.singletonMap("ARTISTNAMES",
    >> artistNames));
    >> List result =
    >> getDomain().createDataContext().performQuery(query);
    >>
    >> I got this query in logs:
    >>
    >> INFO: SELECT * FROM ARTIST WHERE ARTIST_NAME in (?) [bind: 1:<
    >> 'Artist1','Artist3'>]
    >> 10.12.2009 10:48:09 org.apache.cayenne.access.QueryLogger
    >> logSelectCount
    >> INFO: === returned 0 rows. - took 0 ms.
    >>
    >>
    >> So... What does it mean? [bind: 1:< 'Artist1','Artist3'>] ?
    >> I mean what is a purpose of using array in bind? For what queries
    >> it should be used?
    >>
    >> Evgeny.
    >>
    >



    This archive was generated by hypermail 2.0.0 : Fri Dec 11 2009 - 07:57:11 EST