Skip to content

Commit 96d7409

Browse files
committed
Revert "Execute cstmt directly - Additional testing and changes (#2284)"
This reverts commit 92cfe0d.
1 parent 376fc49 commit 96d7409

File tree

4 files changed

+11
-70
lines changed

4 files changed

+11
-70
lines changed

src/main/java/com/microsoft/sqlserver/jdbc/SQLServerCallableStatement.java

Lines changed: 9 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -101,26 +101,6 @@ public class SQLServerCallableStatement extends SQLServerPreparedStatement imple
101101

102102
@Override
103103
public void registerOutParameter(int index, int sqlType) throws SQLServerException {
104-
// Register output parameter by index
105-
isSetByIndex = true;
106-
if (!connection.getUseFlexibleCallableStatements() && isSetByName && isSetByIndex) {
107-
SQLServerException.makeFromDriverError(connection, this,
108-
SQLServerException.getErrString("R_noNamedAndIndexedParameters"), null, false);
109-
}
110-
registerOutputParameter(index, sqlType);
111-
}
112-
113-
private void registerOutParameterByName(int index, int sqlType) throws SQLServerException {
114-
// Register output parameter by name -- findColumn() sets the 'setByName' flag
115-
registerOutputParameter(index, sqlType);
116-
}
117-
118-
void registerOutParameterNonPLP(int index, int sqlType) throws SQLServerException {
119-
registerOutParameter(index, sqlType);
120-
inOutParam[index - 1].isNonPLP = true;
121-
}
122-
123-
private void registerOutputParameter(int index, int sqlType) throws SQLServerException {
124104
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
125105
loggerExternal.entering(getClassNameLogging(), "registerOutParameter", new Object[] {index, sqlType});
126106
checkClosed();
@@ -177,6 +157,11 @@ private void registerOutputParameter(int index, int sqlType) throws SQLServerExc
177157
loggerExternal.exiting(getClassNameLogging(), "registerOutParameter");
178158
}
179159

160+
void registerOutParameterNonPLP(int index, int sqlType) throws SQLServerException {
161+
registerOutParameter(index, sqlType);
162+
inOutParam[index - 1].isNonPLP = true;
163+
}
164+
180165
/**
181166
* Locate any output parameter values returned from the procedure call
182167
*/
@@ -497,7 +482,6 @@ private Object getSQLXMLInternal(int parameterIndex) throws SQLServerException {
497482

498483
@Override
499484
public int getInt(int index) throws SQLServerException {
500-
setByIndex();
501485
loggerExternal.entering(getClassNameLogging(), "getInt", index);
502486
checkClosed();
503487
Integer value = (Integer) getValue(index, JDBCType.INTEGER);
@@ -516,7 +500,6 @@ public int getInt(String parameterName) throws SQLServerException {
516500

517501
@Override
518502
public String getString(int index) throws SQLServerException {
519-
setByIndex();
520503
loggerExternal.entering(getClassNameLogging(), "getString", index);
521504
checkClosed();
522505
String value = null;
@@ -543,7 +526,6 @@ public String getString(String parameterName) throws SQLServerException {
543526

544527
@Override
545528
public final String getNString(int parameterIndex) throws SQLException {
546-
setByIndex();
547529
loggerExternal.entering(getClassNameLogging(), "getNString", parameterIndex);
548530
checkClosed();
549531
String value = (String) getValue(parameterIndex, JDBCType.NCHAR);
@@ -566,7 +548,6 @@ public final String getNString(String parameterName) throws SQLException {
566548
@Deprecated(since = "6.5.4")
567549
@Override
568550
public BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException {
569-
setByIndex();
570551
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
571552
loggerExternal.entering(getClassNameLogging(), "getBigDecimal", new Object[] {parameterIndex, scale});
572553
checkClosed();
@@ -595,7 +576,6 @@ public BigDecimal getBigDecimal(String parameterName, int scale) throws SQLServe
595576

596577
@Override
597578
public boolean getBoolean(int index) throws SQLServerException {
598-
setByIndex();
599579
loggerExternal.entering(getClassNameLogging(), "getBoolean", index);
600580
checkClosed();
601581
Boolean value = (Boolean) getValue(index, JDBCType.BIT);
@@ -614,7 +594,6 @@ public boolean getBoolean(String parameterName) throws SQLServerException {
614594

615595
@Override
616596
public byte getByte(int index) throws SQLServerException {
617-
setByIndex();
618597
loggerExternal.entering(getClassNameLogging(), "getByte", index);
619598
checkClosed();
620599
Short shortValue = (Short) getValue(index, JDBCType.TINYINT);
@@ -635,7 +614,6 @@ public byte getByte(String parameterName) throws SQLServerException {
635614

636615
@Override
637616
public byte[] getBytes(int index) throws SQLServerException {
638-
setByIndex();
639617
loggerExternal.entering(getClassNameLogging(), "getBytes", index);
640618
checkClosed();
641619
byte[] value = (byte[]) getValue(index, JDBCType.BINARY);
@@ -654,7 +632,6 @@ public byte[] getBytes(String parameterName) throws SQLServerException {
654632

655633
@Override
656634
public Date getDate(int index) throws SQLServerException {
657-
setByIndex();
658635
loggerExternal.entering(getClassNameLogging(), "getDate", index);
659636
checkClosed();
660637
java.sql.Date value = (java.sql.Date) getValue(index, JDBCType.DATE);
@@ -673,7 +650,6 @@ public Date getDate(String parameterName) throws SQLServerException {
673650

674651
@Override
675652
public Date getDate(int index, Calendar cal) throws SQLServerException {
676-
setByIndex();
677653
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
678654
loggerExternal.entering(getClassNameLogging(), "getDate", new Object[] {index, cal});
679655
checkClosed();
@@ -694,7 +670,6 @@ public Date getDate(String parameterName, Calendar cal) throws SQLServerExceptio
694670

695671
@Override
696672
public double getDouble(int index) throws SQLServerException {
697-
setByIndex();
698673
loggerExternal.entering(getClassNameLogging(), "getDouble", index);
699674
checkClosed();
700675
Double value = (Double) getValue(index, JDBCType.DOUBLE);
@@ -713,7 +688,6 @@ public double getDouble(String parameterName) throws SQLServerException {
713688

714689
@Override
715690
public float getFloat(int index) throws SQLServerException {
716-
setByIndex();
717691
loggerExternal.entering(getClassNameLogging(), "getFloat", index);
718692
checkClosed();
719693
Float value = (Float) getValue(index, JDBCType.REAL);
@@ -733,7 +707,7 @@ public float getFloat(String parameterName) throws SQLServerException {
733707

734708
@Override
735709
public long getLong(int index) throws SQLServerException {
736-
setByIndex();
710+
737711
loggerExternal.entering(getClassNameLogging(), "getLong", index);
738712
checkClosed();
739713
Long value = (Long) getValue(index, JDBCType.BIGINT);
@@ -752,7 +726,7 @@ public long getLong(String parameterName) throws SQLServerException {
752726

753727
@Override
754728
public Object getObject(int index) throws SQLServerException {
755-
setByIndex();
729+
756730
loggerExternal.entering(getClassNameLogging(), "getObject", index);
757731
checkClosed();
758732
Object value = getValue(index,
@@ -764,7 +738,6 @@ public Object getObject(int index) throws SQLServerException {
764738

765739
@Override
766740
public <T> T getObject(int index, Class<T> type) throws SQLException {
767-
setByIndex();
768741
loggerExternal.entering(getClassNameLogging(), "getObject", index);
769742
checkClosed();
770743
Object returnValue;
@@ -879,7 +852,6 @@ public <T> T getObject(String parameterName, Class<T> type) throws SQLException
879852

880853
@Override
881854
public short getShort(int index) throws SQLServerException {
882-
883855
loggerExternal.entering(getClassNameLogging(), "getShort", index);
884856
checkClosed();
885857
Short value = (Short) getValue(index, JDBCType.SMALLINT);
@@ -898,7 +870,7 @@ public short getShort(String parameterName) throws SQLServerException {
898870

899871
@Override
900872
public Time getTime(int index) throws SQLServerException {
901-
setByIndex();
873+
902874
loggerExternal.entering(getClassNameLogging(), "getTime", index);
903875
checkClosed();
904876
java.sql.Time value = (java.sql.Time) getValue(index, JDBCType.TIME);
@@ -917,7 +889,6 @@ public Time getTime(String parameterName) throws SQLServerException {
917889

918890
@Override
919891
public Time getTime(int index, Calendar cal) throws SQLServerException {
920-
setByIndex();
921892
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
922893
loggerExternal.entering(getClassNameLogging(), "getTime", new Object[] {index, cal});
923894
checkClosed();
@@ -938,7 +909,6 @@ public Time getTime(String parameterName, Calendar cal) throws SQLServerExceptio
938909

939910
@Override
940911
public Timestamp getTimestamp(int index) throws SQLServerException {
941-
setByIndex();
942912
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
943913
loggerExternal.entering(getClassNameLogging(), GET_TIMESTAMP, index);
944914
checkClosed();
@@ -958,7 +928,6 @@ public Timestamp getTimestamp(String parameterName) throws SQLServerException {
958928

959929
@Override
960930
public Timestamp getTimestamp(int index, Calendar cal) throws SQLServerException {
961-
setByIndex();
962931
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
963932
loggerExternal.entering(getClassNameLogging(), GET_TIMESTAMP, new Object[] {index, cal});
964933
checkClosed();
@@ -978,7 +947,6 @@ public Timestamp getTimestamp(String name, Calendar cal) throws SQLServerExcepti
978947
}
979948

980949
LocalDateTime getLocalDateTime(int columnIndex) throws SQLServerException {
981-
setByIndex();
982950
loggerExternal.entering(getClassNameLogging(), "getLocalDateTime", columnIndex);
983951
checkClosed();
984952
LocalDateTime value = (LocalDateTime) getValue(columnIndex, JDBCType.LOCALDATETIME);
@@ -988,7 +956,6 @@ LocalDateTime getLocalDateTime(int columnIndex) throws SQLServerException {
988956

989957
@Override
990958
public Timestamp getDateTime(int index) throws SQLServerException {
991-
setByIndex();
992959
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
993960
loggerExternal.entering(getClassNameLogging(), "getDateTime", index);
994961
checkClosed();
@@ -1008,7 +975,6 @@ public Timestamp getDateTime(String parameterName) throws SQLServerException {
1008975

1009976
@Override
1010977
public Timestamp getDateTime(int index, Calendar cal) throws SQLServerException {
1011-
setByIndex();
1012978
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
1013979
loggerExternal.entering(getClassNameLogging(), "getDateTime", new Object[] {index, cal});
1014980
checkClosed();
@@ -1029,7 +995,6 @@ public Timestamp getDateTime(String name, Calendar cal) throws SQLServerExceptio
1029995

1030996
@Override
1031997
public Timestamp getSmallDateTime(int index) throws SQLServerException {
1032-
setByIndex();
1033998
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
1034999
loggerExternal.entering(getClassNameLogging(), "getSmallDateTime", index);
10351000
checkClosed();
@@ -1049,7 +1014,6 @@ public Timestamp getSmallDateTime(String parameterName) throws SQLServerExceptio
10491014

10501015
@Override
10511016
public Timestamp getSmallDateTime(int index, Calendar cal) throws SQLServerException {
1052-
setByIndex();
10531017
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
10541018
loggerExternal.entering(getClassNameLogging(), "getSmallDateTime", new Object[] {index, cal});
10551019
checkClosed();
@@ -1070,7 +1034,6 @@ public Timestamp getSmallDateTime(String name, Calendar cal) throws SQLServerExc
10701034

10711035
@Override
10721036
public microsoft.sql.DateTimeOffset getDateTimeOffset(int index) throws SQLServerException {
1073-
setByIndex();
10741037
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
10751038
loggerExternal.entering(getClassNameLogging(), "getDateTimeOffset", index);
10761039
checkClosed();
@@ -1115,7 +1078,6 @@ public boolean wasNull() throws SQLServerException {
11151078

11161079
@Override
11171080
public final java.io.InputStream getAsciiStream(int parameterIndex) throws SQLServerException {
1118-
setByIndex();
11191081
loggerExternal.entering(getClassNameLogging(), "getAsciiStream", parameterIndex);
11201082
checkClosed();
11211083
InputStream value = (InputStream) getStream(parameterIndex, StreamType.ASCII);
@@ -1134,7 +1096,6 @@ public final java.io.InputStream getAsciiStream(String parameterName) throws SQL
11341096

11351097
@Override
11361098
public BigDecimal getBigDecimal(int parameterIndex) throws SQLServerException {
1137-
setByIndex();
11381099
loggerExternal.entering(getClassNameLogging(), "getBigDecimal", parameterIndex);
11391100
checkClosed();
11401101
BigDecimal value = (BigDecimal) getValue(parameterIndex, JDBCType.DECIMAL);
@@ -1153,7 +1114,6 @@ public BigDecimal getBigDecimal(String parameterName) throws SQLServerException
11531114

11541115
@Override
11551116
public BigDecimal getMoney(int parameterIndex) throws SQLServerException {
1156-
setByIndex();
11571117
loggerExternal.entering(getClassNameLogging(), "getMoney", parameterIndex);
11581118
checkClosed();
11591119
BigDecimal value = (BigDecimal) getValue(parameterIndex, JDBCType.MONEY);
@@ -1172,7 +1132,6 @@ public BigDecimal getMoney(String parameterName) throws SQLServerException {
11721132

11731133
@Override
11741134
public BigDecimal getSmallMoney(int parameterIndex) throws SQLServerException {
1175-
setByIndex();
11761135
loggerExternal.entering(getClassNameLogging(), "getSmallMoney", parameterIndex);
11771136
checkClosed();
11781137
BigDecimal value = (BigDecimal) getValue(parameterIndex, JDBCType.SMALLMONEY);
@@ -1191,7 +1150,6 @@ public BigDecimal getSmallMoney(String parameterName) throws SQLServerException
11911150

11921151
@Override
11931152
public final java.io.InputStream getBinaryStream(int parameterIndex) throws SQLServerException {
1194-
setByIndex();
11951153
loggerExternal.entering(getClassNameLogging(), "getBinaryStream", parameterIndex);
11961154
checkClosed();
11971155
InputStream value = (InputStream) getStream(parameterIndex, StreamType.BINARY);
@@ -1210,7 +1168,6 @@ public final java.io.InputStream getBinaryStream(String parameterName) throws SQ
12101168

12111169
@Override
12121170
public Blob getBlob(int parameterIndex) throws SQLServerException {
1213-
setByIndex();
12141171
loggerExternal.entering(getClassNameLogging(), "getBlob", parameterIndex);
12151172
checkClosed();
12161173
Blob value = (Blob) getValue(parameterIndex, JDBCType.BLOB);
@@ -1229,7 +1186,6 @@ public Blob getBlob(String parameterName) throws SQLServerException {
12291186

12301187
@Override
12311188
public final java.io.Reader getCharacterStream(int parameterIndex) throws SQLServerException {
1232-
setByIndex();
12331189
loggerExternal.entering(getClassNameLogging(), "getCharacterStream", parameterIndex);
12341190
checkClosed();
12351191
Reader reader = (Reader) getStream(parameterIndex, StreamType.CHARACTER);
@@ -1248,7 +1204,6 @@ public final java.io.Reader getCharacterStream(String parameterName) throws SQLE
12481204

12491205
@Override
12501206
public final java.io.Reader getNCharacterStream(int parameterIndex) throws SQLException {
1251-
setByIndex();
12521207
loggerExternal.entering(getClassNameLogging(), "getNCharacterStream", parameterIndex);
12531208
checkClosed();
12541209
Reader reader = (Reader) getStream(parameterIndex, StreamType.NCHARACTER);
@@ -1279,7 +1234,6 @@ void closeActiveStream() throws SQLServerException {
12791234

12801235
@Override
12811236
public Clob getClob(int parameterIndex) throws SQLServerException {
1282-
setByIndex();
12831237
loggerExternal.entering(getClassNameLogging(), "getClob", parameterIndex);
12841238
checkClosed();
12851239
Clob clob = (Clob) getValue(parameterIndex, JDBCType.CLOB);
@@ -1298,7 +1252,6 @@ public Clob getClob(String parameterName) throws SQLServerException {
12981252

12991253
@Override
13001254
public NClob getNClob(int parameterIndex) throws SQLException {
1301-
setByIndex();
13021255
loggerExternal.entering(getClassNameLogging(), "getNClob", parameterIndex);
13031256
checkClosed();
13041257
NClob nClob = (NClob) getValue(parameterIndex, JDBCType.NCLOB);
@@ -2287,7 +2240,6 @@ public final void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLEx
22872240

22882241
@Override
22892242
public final SQLXML getSQLXML(int parameterIndex) throws SQLException {
2290-
setByIndex();
22912243
loggerExternal.entering(getClassNameLogging(), "getSQLXML", parameterIndex);
22922244
checkClosed();
22932245
SQLServerSQLXML value = (SQLServerSQLXML) getSQLXMLInternal(parameterIndex);
@@ -2346,7 +2298,7 @@ public void registerOutParameter(String parameterName, int sqlType, int precisio
23462298
int scale) throws SQLServerException {
23472299
if (loggerExternal.isLoggable(java.util.logging.Level.FINER))
23482300
loggerExternal.entering(getClassNameLogging(), "registerOutParameter",
2349-
new Object[] {parameterName, sqlType, scale, precision});
2301+
new Object[] {parameterName, sqlType, scale});
23502302
checkClosed();
23512303
registerOutParameter(findColumn(parameterName), sqlType, precision, scale);
23522304
loggerExternal.exiting(getClassNameLogging(), "registerOutParameter");

src/main/java/com/microsoft/sqlserver/jdbc/SQLServerStatement.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1133,14 +1133,6 @@ void checkClosed() throws SQLServerException {
11331133
}
11341134
}
11351135

1136-
void setByIndex() throws SQLServerException {
1137-
isSetByIndex = true;
1138-
if (!connection.getUseFlexibleCallableStatements() && isSetByName && isSetByIndex) {
1139-
SQLServerException.makeFromDriverError(connection, this,
1140-
SQLServerException.getErrString("R_noNamedAndIndexedParameters"), null, false);
1141-
}
1142-
}
1143-
11441136
/* ---------------- JDBC API methods ------------------ */
11451137

11461138
@Override

src/test/java/com/microsoft/sqlserver/jdbc/TestResource.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -210,16 +210,11 @@ protected Object[][] getContents() {
210210
{"R_sharedTimerStopOnNoRef", "SharedTimer should be stopped after all references are removed."},
211211
{"R_sessionKilled", "Cannot continue the execution because the session is in the kill state"},
212212
{"R_failedFedauth", "Failed to acquire fedauth token: "},
213-
<<<<<<< HEAD
214213
{"R_noLoginModulesConfiguredForJdbcDriver",
215214
"javax.security.auth.login.LoginException (No LoginModules configured for SQLJDBCDriver)"},
216215
{"R_unexpectedThreadCount", "Thread count is higher than expected."},
217216
{"R_expectedClassDoesNotMatchActualClass",
218217
"Expected column class {0} does not match actual column class {1} for column {2}."},
219218
{"R_loginFailedMI", "Login failed for user '<token-identified principal>'"},
220219
{"R_MInotAvailable", "Managed Identity authentication is not available"},};
221-
=======
222-
{"R_noLoginModulesConfiguredForJdbcDriver", "javax.security.auth.login.LoginException (No LoginModules configured for SQLJDBCDriver)"},
223-
{"R_unexpectedThreadCount", "Thread count is higher than expected."}};
224-
>>>>>>> parent of 11680a61 (Execute Stored Procedures Directly (#2154))
225220
}

src/test/java/com/microsoft/sqlserver/jdbc/callablestatement/CallableStatementTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.microsoft.sqlserver.jdbc.callablestatement;
22

3+
import static org.junit.Assert.assertTrue;
34
import static org.junit.jupiter.api.Assertions.assertEquals;
45
import static org.junit.jupiter.api.Assertions.assertNull;
56
import static org.junit.jupiter.api.Assertions.fail;
@@ -22,6 +23,7 @@
2223
import java.util.UUID;
2324

2425
import com.microsoft.sqlserver.testframework.PrepUtil;
26+
import org.junit.Assert;
2527
import org.junit.jupiter.api.AfterAll;
2628
import org.junit.jupiter.api.BeforeAll;
2729
import org.junit.jupiter.api.Tag;

0 commit comments

Comments
 (0)