Repository: calcite
Updated Branches:
  refs/heads/master 70829e53f -> 919b31f0e


[CALCITE-1186] Add a test for signedness in parameters


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/919b31f0
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/919b31f0
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/919b31f0

Branch: refs/heads/master
Commit: 919b31f0ebbd1501b9b2216fcc8534449fa3258e
Parents: 70829e5
Author: Josh Elser <[email protected]>
Authored: Mon Apr 4 17:55:50 2016 -0400
Committer: Josh Elser <[email protected]>
Committed: Mon Apr 4 17:55:50 2016 -0400

----------------------------------------------------------------------
 .../calcite/avatica/RemoteDriverTest.java       | 35 +++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/919b31f0/avatica/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java
----------------------------------------------------------------------
diff --git 
a/avatica/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java 
b/avatica/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java
index 191802c..4507532 100644
--- 
a/avatica/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java
+++ 
b/avatica/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java
@@ -1617,7 +1617,6 @@ public class RemoteDriverTest {
       String sql = "CREATE TABLE " + tableName + " (keycolumn VARCHAR(5), 
column1 DECIMAL(15,0))";
       assertFalse(stmt.execute(sql));
 
-      getRequestInspection().getRequestLogger().enableAndClear();
       // Insert a single decimal
       try (PreparedStatement pstmt = conn.prepareStatement("INSERT INTO " + 
tableName
           + " values (?, ?)")) {
@@ -1646,6 +1645,40 @@ public class RemoteDriverTest {
     }
   }
 
+  @Test public void testSignedParameters() throws Exception {
+    final String tableName = "signedParameters";
+    try (Connection conn = getLocalConnection();
+        Statement stmt = conn.createStatement()) {
+      assertFalse(stmt.execute("DROP TABLE IF EXISTS " + tableName));
+      String sql = "CREATE TABLE " + tableName + " (keycolumn VARCHAR(5), 
column1 integer)";
+      assertFalse(stmt.execute(sql));
+
+      // Insert a single decimal
+      try (PreparedStatement pstmt = conn.prepareStatement("INSERT INTO " + 
tableName
+          + " values (?, ?)")) {
+        ParameterMetaData metadata = pstmt.getParameterMetaData();
+        assertNotNull(metadata);
+        assertFalse("Varchar should not be signed", metadata.isSigned(1));
+        assertTrue("Integer should be signed", metadata.isSigned(2));
+
+        pstmt.setString(1, "asdfg");
+        pstmt.setInt(2, 10);
+        assertEquals(1, pstmt.executeUpdate());
+      }
+
+      ResultSet results = stmt.executeQuery("SELECT * FROM " + tableName);
+      assertNotNull(results);
+      assertTrue(results.next());
+      assertEquals("asdfg", results.getString(1));
+      assertEquals(10, results.getInt(2));
+
+      ResultSetMetaData resultMetadata = results.getMetaData();
+      assertNotNull(resultMetadata);
+      assertFalse("Varchar should not be signed", resultMetadata.isSigned(1));
+      assertTrue("Integer should be signed", resultMetadata.isSigned(2));
+    }
+  }
+
   /**
    * Factory that creates a service based on a local JDBC connection.
    */

Reply via email to