/** * Returns a list of OUT and INOUT call parameters. If procedure has a return value, * it will also be included as a call parameter. */ public List<ProcedureParameter> getCallOutParameters() { List<ProcedureParameter> outParams = new ArrayList<>(callParameters.size()); for (ProcedureParameter param : callParameters) { if (param.isOutParam()) { outParams.add(param); } } return outParams; }
/** * Returns a list of OUT and INOUT call parameters. If procedure has a return value, * it will also be included as a call parameter. */ public List getCallOutParameters() { List outParams = new ArrayList(callParameters.size()); Iterator it = callParameters.iterator(); while (it.hasNext()) { ProcedureParameter param = (ProcedureParameter) it.next(); if (param.isOutParam()) { outParams.add(param); } } return outParams; }
/** * Set IN and OUT parameters. */ protected void initStatement(CallableStatement stmt) throws Exception { if (values != null && values.size() > 0) { List<ProcedureParameter> params = getProcedure().getCallParameters(); int len = values.size(); for (int i = 0; i < len; i++) { ProcedureParameter param = params.get(i); // !Stored procedure parameter can be both in and out // at the same time if (param.isOutParam()) { setOutParam(stmt, param, i + 1); } if (param.isInParameter()) { setInParam(stmt, param, values.get(i), i + 1); } } } }
/** * Set IN and OUT parameters. */ protected void initStatement(CallableStatement stmt) throws Exception { if (values != null && values.size() > 0) { List params = getProcedure().getCallParameters(); int len = values.size(); for (int i = 0; i < len; i++) { ProcedureParameter param = (ProcedureParameter) params.get(i); // !Stored procedure parameter can be both in and out // at the same time if (param.isOutParam()) { setOutParam(stmt, param, i + 1); } if (param.isInParameter()) { setInParam(stmt, param, values.get(i), i + 1); } } } }
if (((ProcedureParameterWrapper) attr).getParameter().isOutParam()) { outWidth++; if (((ProcedureParameterWrapper) attr).getParameter().isOutParam()) { outParamIndexes[j++] = i;
ProcedureParameter parameter = (ProcedureParameter) parameters.get(i); if (!parameter.isOutParam()) { continue;
ProcedureParameter parameter = (ProcedureParameter) parameters.get(i); if (!parameter.isOutParam()) { continue;
/** * Helper method that reads OUT parameters of a CallableStatement. */ protected void readProcedureOutParameters(CallableStatement statement, OperationObserver delegate) throws SQLException, Exception { long t1 = System.currentTimeMillis(); // build result row... DataRow result = null; List<ProcedureParameter> parameters = getProcedure().getCallParameters(); for (int i = 0; i < parameters.size(); i++) { ProcedureParameter parameter = parameters.get(i); if (!parameter.isOutParam()) { continue; } if (result == null) { result = new DataRow(2); } ColumnDescriptor descriptor = new ColumnDescriptor(parameter); ExtendedType type = dataNode.getAdapter().getExtendedTypes().getRegisteredType(descriptor.getJavaClass()); Object val = type.materializeObject(statement, i + 1, descriptor.getJdbcType()); result.put(descriptor.getDataRowKey(), val); } if (result != null && !result.isEmpty()) { // treat out parameters as a separate data row set dataNode.getJdbcEventLogger().logSelectCount(1, System.currentTimeMillis() - t1); delegate.nextRows(query, Collections.singletonList(result)); } }
ProcedureParameter parameter = parameters.get(i); if (!parameter.isOutParam()) { continue;