changes based on review comments
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/5553c2f6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/5553c2f6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/5553c2f6 Branch: refs/heads/master Commit: 5553c2f6b2389ca49587108cf6c538f3dd7ddcea Parents: 88ec4fe Author: Anoop Sharma <[email protected]> Authored: Thu Jun 16 17:53:59 2016 +0000 Committer: Anoop Sharma <[email protected]> Committed: Thu Jun 16 17:53:59 2016 +0000 ---------------------------------------------------------------------- .../src/main/java/org/trafodion/jdbc/t4/Bytes.java | 5 +++++ .../org/trafodion/jdbc/t4/InterfaceResultSet.java | 15 ++++++++------- core/sql/common/BaseTypes.cpp | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/5553c2f6/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/Bytes.java ---------------------------------------------------------------------- diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/Bytes.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/Bytes.java index 78803c3..625bdff 100644 --- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/Bytes.java +++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/Bytes.java @@ -45,6 +45,11 @@ package org.trafodion.jdbc.t4; */ class Bytes { + static short extractUTiny(byte[] array, int offset, boolean swap) { + int value = array[offset] & 0xff; + return (short)value; + } + static short extractShort(byte[] array, int offset, boolean swap) { short value; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/5553c2f6/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceResultSet.java ---------------------------------------------------------------------- diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceResultSet.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceResultSet.java index 81ef66c..0fc346d 100644 --- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceResultSet.java +++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceResultSet.java @@ -268,12 +268,11 @@ class InterfaceResultSet { } break; case SQLTYPECODE_TINYINT: - short sValue1 = (byte) ibuffer[byteIndex]; - retObj = new Short(sValue1); + retObj = new Byte(ibuffer[byteIndex]); break; case SQLTYPECODE_TINYINT_UNSIGNED: - short sValue2 = (byte) ibuffer[byteIndex]; - retObj = new Short(sValue2); + short sValue1 = Bytes.extractUTiny(ibuffer, byteIndex, this.ic_.getByteSwap()); + retObj = new Short(sValue1); break; case SQLTYPECODE_SMALLINT: short sValue = Bytes.extractShort(ibuffer, byteIndex, this.ic_.getByteSwap()); @@ -515,10 +514,12 @@ class InterfaceResultSet { break; } break; - case SQLTYPECODE_TINYINT: case SQLTYPECODE_TINYINT_UNSIGNED: - short sValue1 = (byte) values[noNullValue]; - retObj = new Short(sValue1); + short sValue1 = Bytes.extractUTiny(values, noNullValue, swap); + retObj = new Short(sValue1); + break; + case SQLTYPECODE_TINYINT: + retObj = new Byte(values[noNullValue]); break; case SQLTYPECODE_SMALLINT: short sValue = Bytes.extractShort(values, noNullValue, swap); http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/5553c2f6/core/sql/common/BaseTypes.cpp ---------------------------------------------------------------------- diff --git a/core/sql/common/BaseTypes.cpp b/core/sql/common/BaseTypes.cpp index cc708ab..8db8f5b 100644 --- a/core/sql/common/BaseTypes.cpp +++ b/core/sql/common/BaseTypes.cpp @@ -423,7 +423,7 @@ short convertTypeToText_basic(char * text, // OUTPUT if (!precision) str_sprintf(text, "TINYINT UNSIGNED"); else - str_sprintf(text, "NUMERIC(%d, %d)", precision, scale); + str_sprintf(text, "NUMERIC(%d, %d) UNSIGNED", precision, scale); break; case REC_BPINT_UNSIGNED:
