From 5f100f929e3bf667065c59ef9f55ced48e1d5618 Mon Sep 17 00:00:00 2001 From: Milan Mimica Date: Tue, 23 Nov 2021 21:29:37 +0100 Subject: [PATCH] Proposed fix fo #1661 (#1662) * try to solve https://github.com/microsoft/mssql-jdbc/issues/1661 * Update tdsparser.java Fine tuned fix. * Update tdsparser.java Updated formatting Co-authored-by: Milan Mimica Co-authored-by: Wei Zhang <53021889+v-zhangw@users.noreply.github.com> --- .../java/com/microsoft/sqlserver/jdbc/tdsparser.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java index edf232336..113ca4471 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/tdsparser.java @@ -251,10 +251,14 @@ 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."); + /* + * SHOWPLAN or something else that produces extra metadata might be ON. instead of throwing an exception, warn + * and discard the column meta data + */ + if (logger.isLoggable(Level.WARNING)) + logger.warning(tdsReader.toString() + ": " + logContext + ": Discarding unexpected " + + TDS.getTokenName(tdsReader.peekTokenType())); + (new StreamColumns(false)).setFromTDS(tdsReader); return false; }