From 4ad5512bf2e583cd19a00b7e0a1c51a84f382a97 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 2 Jan 2012 18:09:20 +0000 Subject: [PATCH] [#1028] Syntax errors when using untyped param() in HSQLDB (and other strongly typed dialects) - added integration tests --- .../src/org/jooq/test/jOOQAbstractTest.java | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java index 4a48713276..66c29a9b27 100644 --- a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java +++ b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java @@ -1725,21 +1725,21 @@ public abstract class jOOQAbstractTest< @Test public void testPlainSQLResultQuery() throws Exception { - String sql = create().select(param("p", Integer.class).as("p")).getSQL(); - ResultQuery q = create().resultQuery(sql, 10); + String sql = create().select(param("p", String.class).as("p")).getSQL(); + ResultQuery q = create().resultQuery(sql, "10"); Result fetch1 = q.fetch(); assertEquals(1, fetch1.size()); assertEquals(1, fetch1.getFields().size()); assertEquals("p", fetch1.getField(0).getName()); assertEquals("p", fetch1.getField("p").getName()); - assertEquals(10, fetch1.getValue(0, 0)); - assertEquals(10, fetch1.getValue(0, "p")); - assertEquals(10, fetch1.getValue(0, fetch1.getField("p"))); + assertEquals("10", fetch1.getValue(0, 0)); + assertEquals("10", fetch1.getValue(0, "p")); + assertEquals("10", fetch1.getValue(0, fetch1.getField("p"))); List fetch2 = q.fetch("p"); assertEquals(1, fetch2.size()); - assertEquals(10, fetch2.get(0)); + assertEquals("10", fetch2.get(0)); List fetch3 = q.fetch(0, Long.class); assertEquals(1, fetch3.size()); @@ -1749,17 +1749,17 @@ public abstract class jOOQAbstractTest< assertEquals(1, fetch4.getFields().size()); assertEquals("p", fetch4.getField(0).getName()); assertEquals("p", fetch4.getField("p").getName()); - assertEquals(10, fetch4.getValue(0)); - assertEquals(10, fetch4.getValue("p")); - assertEquals(10, fetch4.getValue(fetch4.getField("p"))); + assertEquals("10", fetch4.getValue(0)); + assertEquals("10", fetch4.getValue("p")); + assertEquals("10", fetch4.getValue(fetch4.getField("p"))); Object[] fetch5 = q.fetchArray("p"); assertEquals(1, fetch5.length); - assertEquals(10, fetch5[0]); + assertEquals("10", fetch5[0]); Object[] fetch6 = q.fetchArray(0); assertEquals(1, fetch6.length); - assertEquals(10, fetch6[0]); + assertEquals("10", fetch6[0]); Long[] fetch7 = q.fetchArray(0, Long.class); assertEquals(1, fetch7.length); @@ -1774,7 +1774,7 @@ public abstract class jOOQAbstractTest< @Override public void next(Record record) { assertEquals(1, record.getFields().size()); - assertEquals(10, record.getValue(0)); + assertEquals("10", record.getValue(0)); count[0] += 1; } }); @@ -1785,23 +1785,18 @@ public abstract class jOOQAbstractTest< Thread.sleep(50); assertTrue(fetch9.isDone()); assertEquals(1, fetch9.get().size()); - assertEquals(10, fetch9.get().getValue(0, 0)); + assertEquals("10", fetch9.get().getValue(0, 0)); Cursor fetch10 = q.fetchLazy(); assertFalse(fetch10.isClosed()); assertTrue(fetch10.hasNext()); assertEquals(1, fetch10.getFields().size()); assertEquals("p", fetch10.getField(0).getName()); - assertEquals(10, fetch10.fetchOne().getValue(0)); + assertEquals("10", fetch10.fetchOne().getValue(0)); assertFalse(fetch10.isClosed()); assertFalse(fetch10.hasNext()); assertTrue(fetch10.isClosed()); - List> fetch11 = q.fetchMany(); - assertEquals(1, fetch11.size()); - assertEquals(1, fetch11.get(0).size()); - assertEquals(fetch1, fetch11.get(0)); - assertEquals(fetch1.get(0), q.fetchOne()); } @@ -9051,6 +9046,14 @@ public abstract class jOOQAbstractTest< assertEquals(2, result2.getValue(1, 0)); assertEquals("asdf", result2.getValue(0, 1)); assertEquals("asdf", result2.getValue(1, 1)); + + // [#1028] Named params without any associated type information + select = create().select(param("p")); + select.bind(1, "10"); + Result result3 = select.fetch(); + + assertEquals(1, result3.size()); + assertEquals("10", result3.getValue(0, 0)); } @Test