diff --git a/src/main/java/io/r2dbc/mssql/RpcQueryMessageFlow.java b/src/main/java/io/r2dbc/mssql/RpcQueryMessageFlow.java index 7e7b1f7..98635fa 100644 --- a/src/main/java/io/r2dbc/mssql/RpcQueryMessageFlow.java +++ b/src/main/java/io/r2dbc/mssql/RpcQueryMessageFlow.java @@ -262,7 +262,7 @@ static Flux exchange(PreparedStatementCache statementCache, Client clie state.update(message); if (message instanceof ErrorToken) { - if (isPreparedStatementNotFound(((ErrorToken) message).getNumber()) && retryReprepare.compareAndSet(true, false)) { + if (retryReprepare.compareAndSet(true, false)) { logger.debug("Prepared statement no longer valid: {}", handle); state.update(Phase.PREPARE_RETRY); } @@ -304,7 +304,7 @@ static Flux exchange(PreparedStatementCache statementCache, Client clie * @return */ private static boolean isPreparedStatementNotFound(long errorNumber) { - return errorNumber == 8179 || errorNumber == 586; + return errorNumber == 8179 || errorNumber == 586 || errorNumber == 8144 || errorNumber == 8178; } private static boolean handleSpCursorReturnValue(PreparedStatementCache statementCache, Codecs codecs, String query, Binding binding, CursorState state, boolean needsPrepare,