update: the same behavior applies to OFFSET ?

Dne pondělí 9. března 2015 10:43:32 UTC+1 Vojtěch Hordějčuk napsal(a):
>
> Hi, is this a correct behavior?
>
> If I prepare statement with a limit statement, e.g. *SELECT * FROM 
> system_range(1,10) LIMIT ?* and then get the parameter meta data, I would 
> get VARCHAR as a data type of the limit related placeholder. I am expecting 
> a numeric data type, because *LIMIT 'abc' *is not a valid call (AFAIK).
>
> This is a test case which fails for H2 1.3.171:
>
> public class BugDemo {
>     public static void main(String[] args) throws SQLException {
>         Connection conn = DriverManager.getConnection("jdbc:h2:mem:test");
>         PreparedStatement stmt = conn.prepareStatement("SELECT * FROM 
> system_range(1,10) LIMIT ?");
>         ParameterMetaData pmd = stmt.getParameterMetaData();
>         System.out.println("type = " + pmd.getParameterTypeName(1)); // = 
> VARCHAR (expected numeric)
>         conn.close();
>     }
> }
>
>
>
> Workaround:
>
> just replace "LIMIT ?" with "LIMIT (select id FROM items WHERE id=?)" 
> where id is INTEGER type
>
> Thank you for any help or better workaround.
> Vojta
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to