public String getName() { return procedure.getName(); }
@Override public void fillRow(List<Object> row, Procedure proc, VDBMetaData v, TransformationMetadata metadata, CommandContext cc, SimpleIterator<Procedure> iter) { row.add(v.getName()); row.add(proc.getParent().getName()); row.add(proc.getName()); row.add(proc.getNameInSource()); row.add(proc.getResultSet() != null); row.add(proc.getUUID()); row.add(proc.getAnnotation()); row.add(proc.getParent().getUUID()); } });
public void addProcedure(Procedure procedure) { procedure.setParent(this); if (this.procedures.put(procedure.getName(), procedure) != null) { throw new DuplicateRecordException(DataPlugin.Event.TEIID60014, DataPlugin.Util.gs(DataPlugin.Event.TEIID60014, procedure.getName())); } resolvingOrder.add(procedure); }
@Override public void fillRow(List<Object> row, Procedure proc, VDBMetaData v, TransformationMetadata metadata, CommandContext cc, SimpleIterator<Procedure> iter) { row.add(v.getName()); row.add(proc.getParent().getName()); row.add(proc.getName()); row.add(proc.getNameInSource()); row.add(proc.getResultSet() != null); row.add(proc.getUUID()); row.add(proc.getAnnotation()); row.add(proc.getParent().getUUID()); } });
public void procedureModified(Procedure procedure) { if (!assertInEditMode(Mode.SCHEMA)) { return; } verifyProcedureExists(procedure.getName()); assertGrant(Grant.Permission.Privilege.ALTER, Database.ResourceType.PROCEDURE, procedure); }
@Override public void fillRow(List<Object> row, Procedure proc, VDBMetaData v, TransformationMetadata metadata, CommandContext cc, SimpleIterator<Procedure> iter) { row.add(v.getName()); row.add(proc.getParent().getName()); row.add(proc.getName()); row.add(proc.getNameInSource()); row.add(proc.getResultSet() != null); row.add(proc.getUUID()); row.add(proc.getAnnotation()); row.add(proc.getParent().getUUID()); } });
private static CsdlComplexType buildComplexType(Procedure proc, ColumnSet<Procedure> returnColumns, CsdlSchema csdlSchema) { CsdlComplexType complexType = new CsdlComplexType(); String entityTypeName = proc.getName() + "_" + returnColumns.getName(); //$NON-NLS-1$ complexType.setName(entityTypeName); ArrayList<CsdlProperty> props = new ArrayList<CsdlProperty>(); for (Column c : returnColumns.getColumns()) { CsdlProperty property = buildProperty(c, (c.getNullType() == NullType.Nullable)); props.add(property); addColumnAnnotations(c, property, csdlSchema); } complexType.setProperties(props); return complexType; }
static FunctionMethod replaceProcedureWithFunction(MetadataFactory factory, Procedure proc) throws MetadataException { if (proc.isFunction() && proc.getQueryPlan() != null) { return null; } FunctionMethod method = createFunctionMethod(proc); //remove the old proc factory.getSchema().getResolvingOrder().remove(factory.getSchema().getResolvingOrder().size() - 1); factory.getSchema().getProcedures().remove(proc.getName()); factory.getSchema().addFunction(method); return method; }
static FunctionMethod replaceProcedureWithFunction(MetadataFactory factory, Procedure proc) throws MetadataException { if (proc.isFunction() && proc.getQueryPlan() != null) { return null; } FunctionMethod method = createFunctionMethod(proc); //remove the old proc factory.getSchema().getResolvingOrder().remove(factory.getSchema().getResolvingOrder().size() - 1); factory.getSchema().getProcedures().remove(proc.getName()); factory.getSchema().addFunction(method); return method; }
static FunctionMethod replaceProcedureWithFunction(MetadataFactory factory, Procedure proc) throws MetadataException { if (proc.isFunction() && proc.getQueryPlan() != null) { return null; } FunctionMethod method = createFunctionMethod(proc); //remove the old proc factory.getSchema().getResolvingOrder().remove(factory.getSchema().getResolvingOrder().size() - 1); factory.getSchema().getProcedures().remove(proc.getName()); factory.getSchema().addFunction(method); return method; }
private void visit(EdmParameter edmParameter) throws TeiidProcessingException { Class<?> runtimeType = resolveParameterType(this.procedure.getName(), edmParameter.getName()); Integer sqlType = JDBCSQLTypeInfo.getSQLType(DataTypeManager.getDataTypeName(runtimeType)); Object value = this.parameterValueProvider.getValue(edmParameter, runtimeType); this.sqlParameters.add(new SQLParameter(edmParameter.getName(), value, sqlType)); }
AbstractMetadataRecord getColumn(String paramName, Procedure proc, boolean parameter) throws MetadataException { if (proc.getResultSet() != null) { Column result = proc.getResultSet().getColumnByName(paramName); if (result != null) { return result; } } if (parameter) { List<ProcedureParameter> params = proc.getParameters(); for (ProcedureParameter param:params) { if (param.getName().equalsIgnoreCase(paramName)) { return param; } } } throw new MetadataException(QueryPlugin.Util.getString("SQLParser.alter_procedure_param_doesnot_exist", paramName, proc.getName())); //$NON-NLS-1$ }
AbstractMetadataRecord getColumn(String paramName, Procedure proc, boolean parameter) throws MetadataException { if (proc.getResultSet() != null) { Column result = proc.getResultSet().getColumnByName(paramName); if (result != null) { return result; } } if (parameter) { List<ProcedureParameter> params = proc.getParameters(); for (ProcedureParameter param:params) { if (param.getName().equalsIgnoreCase(paramName)) { return param; } } } throw new MetadataException(QueryPlugin.Util.getString("SQLParser.alter_procedure_param_doesnot_exist", paramName, proc.getName())); //$NON-NLS-1$ }
AbstractMetadataRecord getColumn(String paramName, Procedure proc, boolean parameter) throws MetadataException { if (proc.getResultSet() != null) { Column result = proc.getResultSet().getColumnByName(paramName); if (result != null) { return result; } } if (parameter) { List<ProcedureParameter> params = proc.getParameters(); for (ProcedureParameter param:params) { if (param.getName().equalsIgnoreCase(paramName)) { return param; } } } throw new MetadataException(QueryPlugin.Util.getString("SQLParser.alter_procedure_param_doesnot_exist", paramName, proc.getName())); //$NON-NLS-1$ }
@Test public void testDuplicateProcedure() { ModelMetaData mmd = new ModelMetaData(); mmd.setName("foo"); mmd.addProperty("importer.renameAllDuplicates", "true"); HashMap<String, Datatype> types = new HashMap<String, Datatype>(); Datatype value = new Datatype(); value.setName("string"); types.put("string", value); MetadataFactory factory = new MetadataFactory("x", 1, types, mmd); Procedure x = factory.addProcedure("x"); assertEquals("x", x.getName()); Procedure x1 = factory.addProcedure("X"); assertEquals("X_1", x1.getName()); Procedure x2 = factory.addProcedure("X"); assertEquals("X_2", x2.getName()); }
@Test public void testNameFormat() { ModelMetaData mmd = new ModelMetaData(); mmd.setName("foo"); mmd.addProperty("importer.nameFormat", "x_%s_y"); HashMap<String, Datatype> types = new HashMap<String, Datatype>(); MetadataFactory factory = new MetadataFactory("x", 1, types, mmd); Table x = factory.addTable("x"); assertEquals("x_x_y", x.getName()); Procedure p = factory.addProcedure("a%b.c"); assertEquals("x_a%b.c_y", p.getName()); }
@Override public void visit(AlterProcedure obj) { Procedure p = (Procedure)obj.getTarget().getMetadataID(); String sql = obj.getDefinition().toString(); if (getMetadataRepository(vdb, p.getParent().getName()) != null) { getMetadataRepository(vdb, p.getParent().getName()).setProcedureDefinition(workContext.getVdbName(), workContext.getVdbVersion(), p, sql); } alterProcedureDefinition(vdb, p, sql, false); if (pdm.getEventDistributor() != null) { pdm.getEventDistributor().setProcedureDefinition(workContext.getVdbName(), workContext.getVdbVersion(), p.getParent().getName(), p.getName(), sql); } }
@Override public void visit(AlterProcedure obj) { Procedure p = (Procedure)obj.getTarget().getMetadataID(); String sql = obj.getDefinition().toString(); if (getMetadataRepository(vdb, p.getParent().getName()) != null) { getMetadataRepository(vdb, p.getParent().getName()).setProcedureDefinition(workContext.getVdbName(), workContext.getVdbVersion(), p, sql); } alterProcedureDefinition(vdb, p, sql, false); if (pdm.getEventDistributor() != null) { pdm.getEventDistributor().setProcedureDefinition(workContext.getVdbName(), workContext.getVdbVersion(), p.getParent().getName(), p.getName(), sql); } }
@Override public void visit(AlterProcedure obj) { Procedure p = (Procedure)obj.getTarget().getMetadataID(); String sql = obj.getDefinition().toString(); if (getMetadataRepository(vdb, p.getParent().getName()) != null) { getMetadataRepository(vdb, p.getParent().getName()).setProcedureDefinition(workContext.getVdbName(), workContext.getVdbVersion(), p, sql); } alterProcedureDefinition(vdb, p, sql, false); if (pdm.getEventDistributor() != null) { pdm.getEventDistributor().setProcedureDefinition(workContext.getVdbName(), workContext.getVdbVersion(), p.getParent().getName(), p.getName(), sql); } }
private void addProcedureTableReturn(MetadataFactory mf, XMLMetadata metadata, Procedure procedure, CsdlEntityType type, String namePrefix) throws TranslatorException { for (CsdlProperty property:type.getProperties()) { if (isSimple(property.getType()) || isEnum(metadata, property.getType())) { mf.addProcedureResultSetColumn( namePrefix == null? property.getName():namePrefix+"_"+property.getName(), ODataTypeManager.teiidType(property.getType(), property.isCollection()), procedure); } else if (isComplexType(metadata, property.getType())) { CsdlComplexType childType = getComplexType(metadata, property.getType()); addProcedureTableReturn(mf, metadata, procedure, childType, property.getName()); } else { throw new TranslatorException(ODataPlugin.Util.gs( ODataPlugin.Event.TEIID17023, procedure.getName())); } } }