Author: shawkins
Date: 2009-09-16 13:09:12 -0400 (Wed, 16 Sep 2009)
New Revision: 1362
Modified:
branches/6.2.x/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCProcedureExecution.java
branches/6.2.x/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCProcedureExecution.java
branches/6.2.x/documentation/salesforce-connector-guide/
Log:
TEIID-831 fix for invalid index with out parameters and in parameters
Modified:
branches/6.2.x/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCProcedureExecution.java
===================================================================
---
branches/6.2.x/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCProcedureExecution.java 2009-09-15
20:21:08 UTC (rev 1361)
+++
branches/6.2.x/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCProcedureExecution.java 2009-09-16
17:09:12 UTC (rev 1362)
@@ -115,10 +115,14 @@
}
}
for (IParameter parameter : proc.getParameters()) {
- if (parameter.getDirection() == Direction.RETURN || parameter.getDirection() ==
Direction.RESULT_SET) {
+ switch (parameter.getDirection()) {
+ case IN:
+ paramIndex++;
+ case RETURN:
+ case RESULT_SET:
continue;
- }
- if (parameter.getDirection() == Direction.INOUT || parameter.getDirection() ==
Direction.OUT) {
+ case INOUT:
+ case OUT:
addParameterValue(result, paramIndex++, parameter);
}
}
Modified:
branches/6.2.x/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCProcedureExecution.java
===================================================================
---
branches/6.2.x/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCProcedureExecution.java 2009-09-15
20:21:08 UTC (rev 1361)
+++
branches/6.2.x/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/TestJDBCProcedureExecution.java 2009-09-16
17:09:12 UTC (rev 1362)
@@ -58,5 +58,21 @@
assertEquals(Arrays.asList(5), procedureExecution.getOutputParameterValues());
Mockito.verify(cs, Mockito.times(1)).registerOutParameter(1, Types.INTEGER);
}
+
+ @Test public void testProcedureExecution1() throws Exception {
+ ICommand command = MetadataFactory.helpTranslate(MetadataFactory.BQT_VDB, "exec
pm2.spTest8(1)"); //$NON-NLS-1$
+ Connection connection = Mockito.mock(Connection.class);
+ CallableStatement cs = Mockito.mock(CallableStatement.class);
+ Mockito.stub(cs.getUpdateCount()).toReturn(-1);
+ Mockito.stub(cs.getInt(2)).toReturn(5);
+ Mockito.stub(connection.prepareCall("{ call spTest8(?,?)}")).toReturn(cs);
//$NON-NLS-1$
+ Translator sqlTranslator = new Translator();
+ ExecutionContext context = EnvironmentUtility.createSecurityContext("user");
//$NON-NLS-1$
+ RuntimeMetadataImpl runtimeMetadata = new
RuntimeMetadataImpl(FakeMetadataFactory.exampleBQTCached());
+ JDBCProcedureExecution procedureExecution = new JDBCProcedureExecution(command,
connection, sqlTranslator, Mockito.mock(ConnectorLogger.class), new Properties(),
runtimeMetadata, context, EnvironmentUtility.createEnvironment(new Properties()) );
+ procedureExecution.execute();
+ assertEquals(Arrays.asList(5), procedureExecution.getOutputParameterValues());
+ Mockito.verify(cs, Mockito.times(1)).registerOutParameter(2, Types.INTEGER);
+ }
}
Property changes on: branches/6.2.x/documentation/salesforce-connector-guide
___________________________________________________________________
Name: svn:ignore
+ .classpath
target
.settings
.project
Show replies by date