public String getElementRuntimeTypeName(final Object elementID) throws TeiidComponentException, QueryMetadataException { if(elementID instanceof Column) { return ((Column) elementID).getRuntimeType(); } else if(elementID instanceof ProcedureParameter){ return ((ProcedureParameter) elementID).getRuntimeType(); } else { throw createInvalidRecordTypeException(elementID); } }
public String getElementRuntimeTypeName(final Object elementID) throws TeiidComponentException, QueryMetadataException { if(elementID instanceof Column) { return ((Column) elementID).getRuntimeType(); } else if(elementID instanceof ProcedureParameter){ return ((ProcedureParameter) elementID).getRuntimeType(); } else { throw createInvalidRecordTypeException(elementID); } }
public String getElementRuntimeTypeName(final Object elementID) throws TeiidComponentException, QueryMetadataException { if(elementID instanceof Column) { return ((Column) elementID).getRuntimeType(); } else if(elementID instanceof ProcedureParameter){ return ((ProcedureParameter) elementID).getRuntimeType(); } else { throw createInvalidRecordTypeException(elementID); } }
private Class<?> resolveParameterType(String procedureName, String parameterName) { for (ProcedureParameter pp : this.procedure.getParameters()) { if (pp.getName().equalsIgnoreCase(parameterName)) { return DataTypeManager.getDataTypeClass(pp.getRuntimeType()); } } return null; }
private static boolean isInputParameterLob(Procedure proc) { for (ProcedureParameter pp : proc.getParameters()) { if (!pp.getType().equals(ProcedureParameter.Type.ReturnValue) && DataTypeManager.isLOB(pp.getRuntimeType())) { return true; } } return false; }
for (ProcedureParameter param:proc.getParameters()) { if (param.getType().equals(ProcedureParameter.Type.ReturnValue)) { this.returnType = param.getRuntimeType(); this.returnTypeClass = param.getJavaType();
param.setType(odatatype.getFullQualifiedName()); if (DataTypeManager.isArrayType(pp.getRuntimeType())) { param.setCollection(true); String runtimeType = pp.getRuntimeType();
private void visit(EdmReturnType returnType) { if (hasResultSet()) { // this is complex type this.procedureReturn = new ProcedureReturn(returnType, null, true); } else { // must not be null ProcedureParameter parameter = getReturnParameter(); Class<?> teiidType = DataTypeManager.getDataTypeClass(parameter.getRuntimeType()); Integer sqlType = JDBCSQLTypeInfo.getSQLType(DataTypeManager.getDataTypeName(teiidType)); this.procedureReturn = new ProcedureReturn(returnType, sqlType, false); } }
@Test public void testAlterProcedureColumnType() throws Exception { String ddl = "CREATE FOREIGN PROCEDURE myProc(OUT p1 boolean, p2 varchar, INOUT p3 decimal) " + "RETURNS (r1 varchar, r2 decimal)" + "OPTIONS(RANDOM 'any', UUID 'uuid', NAMEINSOURCE 'nis', ANNOTATION 'desc', UPDATECOUNT '2');" + "ALTER FOREIGN PROCEDURE myProc ALTER PARAMETER p2 TYPE integer;"; Schema s = helpParse(ddl, "model").getSchema(); Procedure proc = s.getProcedure("myProc"); assertNotNull(proc); assertEquals("p2", proc.getParameters().get(1).getName()); assertEquals("integer", proc.getParameters().get(1).getRuntimeType()); }
EdmPrimitiveTypeKind odataType = ODataTypeManager.odataType(pp); if (pp.getType().equals(ProcedureParameter.Type.ReturnValue)) { edmFunction.setReturnType(new CsdlReturnType().setType(odataType.getFullQualifiedName()).setCollection(DataTypeManager.isArrayType(pp.getRuntimeType()))); continue;
EdmPrimitiveTypeKind odatatype = ODataTypeManager.odataType(pp); if (pp.getType().equals(ProcedureParameter.Type.ReturnValue)) { edmAction.setReturnType(new CsdlReturnType().setType(odatatype.getFullQualifiedName()).setCollection(DataTypeManager.isArrayType(pp.getRuntimeType()))); continue;
String runtimeType = paramRecord.getRuntimeType(); int direction = this.convertParamRecordTypeToStoredProcedureType(paramRecord.getType());
String runtimeType = paramRecord.getRuntimeType(); int direction = this.convertParamRecordTypeToStoredProcedureType(paramRecord.getType());
fp.setName(param.getName()); fp.setDescription(param.getAnnotation()); fp.setRuntimeType(param.getRuntimeType()); fp.setDatatype(param.getDatatype(), true, param.getArrayDimensions()); fp.setUUID(param.getUUID());
fp.setName(param.getName()); fp.setDescription(param.getAnnotation()); fp.setRuntimeType(param.getRuntimeType()); fp.setDatatype(param.getDatatype(), true, param.getArrayDimensions()); fp.setUUID(param.getUUID());
FunctionParameter fp = new FunctionParameter(pp.getName(), pp.getRuntimeType(), pp.getAnnotation()); fp.setDatatype(pp.getDatatype(), true, pp.getArrayDimensions()); fp.setLength(pp.getLength());
FunctionParameter fp = new FunctionParameter(pp.getName(), pp.getRuntimeType(), pp.getAnnotation()); fp.setDatatype(pp.getDatatype(), true, pp.getArrayDimensions()); fp.setLength(pp.getLength());
FunctionParameter fp = new FunctionParameter(pp.getName(), pp.getRuntimeType(), pp.getAnnotation()); fp.setDatatype(pp.getDatatype(), true, pp.getArrayDimensions()); fp.setLength(pp.getLength());
|| pp.getType().equals(ProcedureParameter.Type.InOut)) { inouts++; if (DataTypeManager.isLOB(pp.getRuntimeType())) { lobs++;
if (pp.getName().equals("return")) { //$NON-NLS-1$ httpMethod = "GET"; //$NON-NLS-1$ edmProcedure.setReturnType(ODataTypeManager.odataType(pp.getRuntimeType())); continue; param.setType(ODataTypeManager.odataType(pp.getRuntimeType()));