@@ -104,28 +104,31 @@ public void basicProcedure() throws SQLException {
104104 stmt .execute ("DROP PROCEDURE IF EXISTS basic_proc2" );
105105 stmt .execute (
106106 "CREATE PROCEDURE basic_proc2 (INOUT t1 INT, IN t2 MEDIUMINT unsigned, OUT t3 DECIMAL(8,3),"
107- + " OUT t4 VARCHAR(20), IN t5 SMALLINT) BEGIN \n "
107+ + " OUT t4 VARCHAR(20), IN t5 SMALLINT, IN t6 BOOLEAN ) BEGIN \n "
108108 + "set t3 = t1 * t5;\n "
109109 + "set t1 = t2 * t1;\n "
110110 + "set t4 = 'return data';\n "
111+ + "set t6 = true;\n "
111112 + "END" );
112113 try (CallableStatement callableStatement =
113114 sharedConn .prepareCall ("{call basic_proc2(?,?,?,?)}" )) {
114115 ParameterMetaData meta = callableStatement .getParameterMetaData ();
115- assertEquals (5 , meta .getParameterCount ());
116+ assertEquals (6 , meta .getParameterCount ());
116117 assertEquals ("int" , meta .getParameterClassName (1 ));
117118 assertEquals ("int" , meta .getParameterClassName (2 ));
118119 assertEquals ("java.math.BigDecimal" , meta .getParameterClassName (3 ));
119120 assertEquals ("java.lang.String" , meta .getParameterClassName (4 ));
120121 assertEquals ("short" , meta .getParameterClassName (5 ));
122+ assertEquals ("boolean" , meta .getParameterClassName (6 ));
121123 Common .assertThrowsContains (
122- SQLException .class , () -> meta .getParameterClassName (6 ), "invalid parameter index 6 " );
124+ SQLException .class , () -> meta .getParameterClassName (7 ), "invalid parameter index 7 " );
123125
124126 assertEquals ("INT" , meta .getParameterTypeName (1 ));
125127 assertEquals ("MEDIUMINT" , meta .getParameterTypeName (2 ));
126128 assertEquals ("DECIMAL" , meta .getParameterTypeName (3 ));
127129 assertEquals ("VARCHAR" , meta .getParameterTypeName (4 ));
128130 assertEquals ("SMALLINT" , meta .getParameterTypeName (5 ));
131+ assertEquals ("BOOLEAN" , meta .getParameterTypeName (6 ));
129132 Common .assertThrowsContains (
130133 SQLException .class , () -> meta .getParameterTypeName (0 ), "invalid parameter index 0" );
131134
@@ -134,6 +137,7 @@ public void basicProcedure() throws SQLException {
134137 assertEquals (Types .DECIMAL , meta .getParameterType (3 ));
135138 assertEquals (Types .VARCHAR , meta .getParameterType (4 ));
136139 assertEquals (Types .SMALLINT , meta .getParameterType (5 ));
140+ assertEquals (Types .BOOLEAN , meta .getParameterType (6 ));
137141 Common .assertThrowsContains (
138142 SQLException .class , () -> meta .getParameterType (0 ), "invalid parameter index 0" );
139143
@@ -142,6 +146,7 @@ public void basicProcedure() throws SQLException {
142146 assertEquals (ParameterMetaData .parameterModeOut , meta .getParameterMode (3 ));
143147 assertEquals (ParameterMetaData .parameterModeOut , meta .getParameterMode (4 ));
144148 assertEquals (ParameterMetaData .parameterModeIn , meta .getParameterMode (5 ));
149+ assertEquals (ParameterMetaData .parameterModeIn , meta .getParameterMode (6 ));
145150 Common .assertThrowsContains (
146151 SQLException .class , () -> meta .getParameterMode (10 ), "invalid parameter index 10" );
147152
@@ -325,14 +330,15 @@ public void getParameterTypeProcedure() throws SQLException {
325330 }
326331 }
327332
328-
329333 @ Test
330334 public void failStoredProcedureTest () throws Exception {
331335 Statement stmt = sharedConn .createStatement ();
332336 stmt .execute ("DROP PROCEDURE IF EXISTS workingStoreProcedure" );
333337 stmt .execute ("DROP PROCEDURE IF EXISTS failingStoreProcedure" );
334338 stmt .execute ("CREATE PROCEDURE workingStoreProcedure(a int) begin Do 1; end" );
335- stmt .execute ("CREATE PROCEDURE failingStoreProcedure(a int) begin SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Custom error'; end" );
339+ stmt .execute (
340+ "CREATE PROCEDURE failingStoreProcedure(a int) begin SIGNAL SQLSTATE '45000' SET"
341+ + " MESSAGE_TEXT = 'Custom error'; end" );
336342
337343 try (CallableStatement call1 = sharedConn .prepareCall ("{call useParameterName(?)}" )) {
338344 call1 .setInt (1 , 1 );
@@ -363,7 +369,8 @@ public void failStoredProcedureTest2() throws Exception {
363369 stmt .execute ("DROP PROCEDURE IF EXISTS workingStoreProcedure" );
364370 stmt .execute ("DROP TABLE IF EXISTS saveData" );
365371 stmt .execute ("CREATE TABLE saveData(i int PRIMARY KEY)" );
366- stmt .execute ("CREATE PROCEDURE saveDataProc(val int) begin INSERT INTO saveData(i) VALUE (val); end" );
372+ stmt .execute (
373+ "CREATE PROCEDURE saveDataProc(val int) begin INSERT INTO saveData(i) VALUE (val); end" );
367374
368375 try (CallableStatement call1 = sharedConn .prepareCall ("{call saveDataProc(?)}" )) {
369376 call1 .setInt (1 , 1 );
@@ -391,5 +398,4 @@ public void failStoredProcedureTest2() throws Exception {
391398 call1 .executeBatch ();
392399 }
393400 }
394-
395401}
0 commit comments