private static List<ParameterInfo> getParameterInfo(StoredProcedure procedure) { List<ParameterInfo> paramInfos = new ArrayList<ParameterInfo>(); for (SPParameter param : procedure.getParameters()) { ParameterInfo info = new ParameterInfo(param.getParameterType(), param.getResultSetColumns().size()); paramInfos.add(info); } return paramInfos; }
while(iteratorOfParameters.hasNext()){ ParameterInfo parameter = (ParameterInfo)iteratorOfParameters.next(); if(parameter.getType() == ParameterInfo.RESULT_SET){ resultSetSize = parameter.getNumColumns(); while(iteratorOfParameters.hasNext()){ ParameterInfo parameter = (ParameterInfo)iteratorOfParameters.next(); if(parameter.getType() == ParameterInfo.RETURN_VALUE){ count++; index++; while(iteratorOfParameters.hasNext()){ ParameterInfo parameter = (ParameterInfo)iteratorOfParameters.next(); if(parameter.getType() != ParameterInfo.RETURN_VALUE && parameter.getType() != ParameterInfo.RESULT_SET){ index++; if(parameter.getType() == ParameterInfo.OUT || parameter.getType() == ParameterInfo.INOUT){ count++; int resultIndex = resultSetSize + count;
private static List<ParameterInfo> getParameterInfo(StoredProcedure procedure) { List<ParameterInfo> paramInfos = new ArrayList<ParameterInfo>(); for (SPParameter param : procedure.getParameters()) { ParameterInfo info = new ParameterInfo(param.getParameterType(), param.getResultSetColumns().size()); paramInfos.add(info); } return paramInfos; }
while(iteratorOfParameters.hasNext()){ ParameterInfo parameter = (ParameterInfo)iteratorOfParameters.next(); if(parameter.getType() == ParameterInfo.RESULT_SET){ resultSetSize = parameter.getNumColumns(); while(iteratorOfParameters.hasNext()){ ParameterInfo parameter = (ParameterInfo)iteratorOfParameters.next(); if(parameter.getType() == ParameterInfo.RETURN_VALUE){ count++; index++; while(iteratorOfParameters.hasNext()){ ParameterInfo parameter = (ParameterInfo)iteratorOfParameters.next(); if(parameter.getType() != ParameterInfo.RETURN_VALUE && parameter.getType() != ParameterInfo.RESULT_SET){ index++; if(parameter.getType() == ParameterInfo.OUT || parameter.getType() == ParameterInfo.INOUT){ count++; int resultIndex = resultSetSize + count;
private static List<ParameterInfo> getParameterInfo(StoredProcedure procedure) { List<ParameterInfo> paramInfos = new ArrayList<ParameterInfo>(); for (SPParameter param : procedure.getParameters()) { ParameterInfo info = new ParameterInfo(param.getParameterType(), param.getResultSetColumns().size()); paramInfos.add(info); } return paramInfos; }
assertEquals(2, copy.getParameters().size()); ParameterInfo info1 = (ParameterInfo) copy.getParameters().get(0); assertEquals(ParameterInfo.IN, info1.getType()); assertEquals(0, info1.getNumColumns()); ParameterInfo info2 = (ParameterInfo) copy.getParameters().get(1); assertEquals(ParameterInfo.RESULT_SET, info2.getType()); assertEquals(5, info2.getNumColumns());
message.setLastRow(100); List parameters = new ArrayList(); parameters.add(new ParameterInfo(ParameterInfo.IN, 0)); parameters.add(new ParameterInfo(ParameterInfo.RESULT_SET, 5)); message.setParameters(parameters); PlanNode planDescs = new PlanNode("test");
@Test public void testGetOutputParameter() throws Exception { CallableStatementImpl mmcs = getCallableStatement(); RequestMessage request = new RequestMessage(); request.setExecutionId(1); ResultsMessage resultsMsg = new ResultsMessage(); List<?>[] results = new List[] {Arrays.asList(null, null, null), Arrays.asList(null, 1, 2)}; resultsMsg.setResults(results); resultsMsg.setColumnNames(new String[] { "IntNum", "Out1", "Out2" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ resultsMsg.setDataTypes(new String[] { DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.INTEGER }); resultsMsg.setFinalRow(results.length); resultsMsg.setLastRow(results.length); resultsMsg.setFirstRow(1); resultsMsg.setParameters(Arrays.asList(new ParameterInfo(ParameterInfo.RESULT_SET, 1), new ParameterInfo(ParameterInfo.OUT, 1), new ParameterInfo(ParameterInfo.OUT, 1))); mmcs.createResultSet(resultsMsg); assertEquals(1, mmcs.getInt(1)); assertEquals(2, mmcs.getInt(2)); assertEquals(1, mmcs.getInt("Out1")); assertEquals(2, mmcs.getInt("Out2")); }