From 01ba7b276963fb569a33e30dcf8ac63129a64797 Mon Sep 17 00:00:00 2001 From: ulvii Date: Thu, 22 Mar 2018 18:05:54 -0700 Subject: [PATCH 1/5] Dont throw exception for colmetadata token --- src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java index 3e6a60785..710ffd634 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java @@ -227,7 +227,7 @@ boolean onOrder(TDSReader tdsReader) throws SQLServerException { } boolean onColMetaData(TDSReader tdsReader) throws SQLServerException { - TDSParser.throwUnexpectedTokenException(tdsReader, logContext); + TDSParser.ignoreLengthPrefixedToken(tdsReader); return false; } From d7e9ddd1f335212315ce5c9618a16a33a67d53bc Mon Sep 17 00:00:00 2001 From: ulvii Date: Mon, 26 Mar 2018 12:13:13 -0700 Subject: [PATCH 2/5] Adding a comment --- src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java index 710ffd634..c9e868f30 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java @@ -227,8 +227,9 @@ boolean onOrder(TDSReader tdsReader) throws SQLServerException { } boolean onColMetaData(TDSReader tdsReader) throws SQLServerException { + //SHOWPLAN might be ON TDSParser.ignoreLengthPrefixedToken(tdsReader); - return false; + return true; } boolean onRow(TDSReader tdsReader) throws SQLServerException { From 91f3caa1555a6bb39dcb196946592eb38a9d5cd3 Mon Sep 17 00:00:00 2001 From: ulvii Date: Mon, 26 Mar 2018 16:26:49 -0700 Subject: [PATCH 3/5] Update comment --- src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java index c9e868f30..901f8c2c6 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java @@ -227,9 +227,9 @@ boolean onOrder(TDSReader tdsReader) throws SQLServerException { } boolean onColMetaData(TDSReader tdsReader) throws SQLServerException { - //SHOWPLAN might be ON + //SHOWPLAN might be ON, instead of throwing an exception, ignore the column meta data TDSParser.ignoreLengthPrefixedToken(tdsReader); - return true; + return false; } boolean onRow(TDSReader tdsReader) throws SQLServerException { From 83d9e2328542eaf0b5172227585a4e136e8eeb78 Mon Sep 17 00:00:00 2001 From: ulvii Date: Wed, 28 Mar 2018 11:07:53 -0700 Subject: [PATCH 4/5] Adding a warning message --- src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java index 901f8c2c6..4e824fd6d 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java @@ -160,6 +160,9 @@ class TDSTokenHandler { private StreamError databaseError; + /** TDS protocol diagnostics logger */ + private static Logger logger = Logger.getLogger("com.microsoft.sqlserver.jdbc.internals.TDS.TOKEN"); + final StreamError getDatabaseError() { return databaseError; } @@ -228,6 +231,9 @@ boolean onOrder(TDSReader tdsReader) throws SQLServerException { boolean onColMetaData(TDSReader tdsReader) throws SQLServerException { //SHOWPLAN might be ON, instead of throwing an exception, ignore the column meta data + if (logger.isLoggable(Level.SEVERE)) + logger.severe(tdsReader.toString() + ": " + logContext + ": Encountered " + + TDS.getTokenName(tdsReader.peekTokenType()) + ". SHOWPLAN is ON, ignoring."); TDSParser.ignoreLengthPrefixedToken(tdsReader); return false; } From 25da122f9cb9b9b9822fc274ed7027995a162861 Mon Sep 17 00:00:00 2001 From: ulvii Date: Wed, 28 Mar 2018 15:49:50 -0700 Subject: [PATCH 5/5] remove ignoreLengthPrefixedToken --- src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java index 4e824fd6d..df34c8e6d 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java @@ -234,7 +234,6 @@ boolean onColMetaData(TDSReader tdsReader) throws SQLServerException { if (logger.isLoggable(Level.SEVERE)) logger.severe(tdsReader.toString() + ": " + logContext + ": Encountered " + TDS.getTokenName(tdsReader.peekTokenType()) + ". SHOWPLAN is ON, ignoring."); - TDSParser.ignoreLengthPrefixedToken(tdsReader); return false; }