From 854c66c0b3a064d934fe4f2808115e061356d53a Mon Sep 17 00:00:00 2001 From: Jeff Wasty Date: Wed, 3 Jul 2024 14:06:02 -0700 Subject: [PATCH] 2463 --- .../sqlserver/jdbc/issues/GH2463.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/test/java/com/microsoft/sqlserver/jdbc/issues/GH2463.java diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/issues/GH2463.java b/src/test/java/com/microsoft/sqlserver/jdbc/issues/GH2463.java new file mode 100644 index 000000000..26cc499d3 --- /dev/null +++ b/src/test/java/com/microsoft/sqlserver/jdbc/issues/GH2463.java @@ -0,0 +1,37 @@ +package com.microsoft.sqlserver.jdbc.issues; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.sql.CallableStatement; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Types; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +public class GH2463 { + + private final static String JDBC_URL = "jdbc:sqlserver://localhost:1433;database=TestDb;trustServerCertificate=true"; + private final static String JDBC_USER = "sa"; + private final static String JDBC_PASSWORD = "TestPassword123"; + + @ParameterizedTest + @ValueSource(strings = {"foobar", "foobar()"}) + void testFunctionCall(String value) throws SQLException + { + try (Connection con = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD)) + { + String call = String.format("{? = call %s}", value); + try (CallableStatement stmt = con.prepareCall(call)) + { + stmt.registerOutParameter(1, Types.NVARCHAR); + stmt.execute(); + + assertEquals("foobar", stmt.getObject(1)); + } + } + } +} +