public Procedure getProcedure(StoredProcedureInfo sp) { if (sp.getProcedureID() instanceof Procedure) { return (Procedure)sp.getProcedureID(); } return null; }
StoredProcedureInfo procInfo = new StoredProcedureInfo(); procInfo.setProcedureCallableName(procedureFullName); procInfo.setProcedureID(procRecord); procInfo.setModelID(procRecord.getParent()); spParam.setClassType(DataTypeManager.getArrayType(spParam.getClassType())); procInfo.addParameter(spParam); ColumnSet<Procedure> resultRecord = procRecord.getResultSet(); int lastParamIndex = procInfo.getParameters().size() + 1; SPParameter param = new SPParameter(lastParamIndex, SPParameter.RESULT_SET, resultRecord.getFullName()); param.setClassType(java.sql.ResultSet.class); procInfo.addParameter(param); procInfo.setQueryPlan(queryNode); procInfo.setUpdateCount(procRecord.getUpdateCount()); results.add(procInfo); Schema schema = (Schema)storedProcedureInfo.getModelID(); if(name.equalsIgnoreCase(storedProcedureInfo.getProcedureCallableName()) || vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){ if (result != null) { throw new QueryMetadataException(QueryPlugin.Event.TEIID30358, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30358, name));
storedProcedureCommand.setUpdateCount(storedProcedureInfo.getUpdateCount()); storedProcedureCommand.setModelID(storedProcedureInfo.getModelID()); storedProcedureCommand.setProcedureID(storedProcedureInfo.getProcedureID()); storedProcedureCommand.setProcedureCallableName(storedProcedureInfo.getProcedureCallableName()); List<SPParameter> metadataParams = storedProcedureInfo.getParameters(); List<SPParameter> clonedMetadataParams = new ArrayList<SPParameter>(metadataParams.size()); int inputParams = 0; boolean isVirtual = storedProcedureInfo.getQueryPlan() != null; discoveredMetadata.addTempGroup(procName, tempElements, isVirtual); GroupSymbol procGroup = new GroupSymbol(storedProcedureInfo.getProcedureCallableName()); procGroup.setProcedure(true); TempMetadataID tid = discoveredMetadata.getTempGroupID(procName);
String procName = info.getProcedureCallableName(); List<ElementSymbol> tempElements = new ArrayList<ElementSymbol>(info.getParameters().size()); boolean[] updatable = new boolean[info.getParameters().size()]; int i = 0; List<ElementSymbol> rsColumns = Collections.emptyList(); for (SPParameter param : info.getParameters()) { if(param.getParameterType() != ParameterInfo.RESULT_SET) { ElementSymbol symbol = param.getParameterSymbol();
storedProcedureCommand.setProcedureName(fullName); List<SPParameter> metadataParams = storedProcedureInfo.getParameters();
public static void sampleData1(FakeDataManager dataMgr, QueryMetadataInterface metadata) throws TeiidException { addTable("pm1.g1", dataMgr, metadata); addTable("pm1.g2", dataMgr, metadata); addTable("pm1.g3", dataMgr, metadata); addTable("pm2.g1", dataMgr, metadata); addTable("pm2.g2", dataMgr, metadata); addTable("pm2.g3", dataMgr, metadata); //addTable("tm1.g1", dataMgr, metadata); //stored procedure pm1.sp1 StoredProcedureInfo procInfo = metadata.getStoredProcedureInfoForProcedure("pm1.sp1"); //$NON-NLS-1$ dataMgr.registerProcTuples( procInfo.getProcedureCallableName().toUpperCase(), new List[] { Arrays.asList(new Object[] { "a", new Integer(0) }), //$NON-NLS-1$ Arrays.asList(new Object[] { null, new Integer(1)}), Arrays.asList(new Object[] { "a", new Integer(3) }), //$NON-NLS-1$ Arrays.asList(new Object[] { "c", new Integer(1)}), //$NON-NLS-1$ Arrays.asList(new Object[] { "b", new Integer(2)}), //$NON-NLS-1$ Arrays.asList(new Object[] { "a", new Integer(0) }) //$NON-NLS-1$ } ); }
/** * @throws QueryResolverException * @see org.teiid.query.resolver.ProcedureContainerResolver#getPlan(org.teiid.query.metadata.QueryMetadataInterface, org.teiid.query.sql.symbol.GroupSymbol) */ protected String getPlan(QueryMetadataInterface metadata, GroupSymbol group) throws TeiidComponentException, QueryMetadataException, QueryResolverException { StoredProcedureInfo storedProcedureInfo = metadata.getStoredProcedureInfoForProcedure(group.getName()); //if there is a query plan associated with the procedure, get it. QueryNode plan = storedProcedureInfo.getQueryPlan(); if (plan.getQuery() == null) { throw new QueryResolverException(QueryPlugin.Event.TEIID30146, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30146, group)); } return plan.getQuery(); } }
StoredProcedureInfo procInfo = new StoredProcedureInfo(); procInfo.setProcedureCallableName(procedureFullName); procInfo.setProcedureID(procRecord); procInfo.setModelID(procRecord.getParent()); spParam.setClassType(DataTypeManager.getArrayType(spParam.getClassType())); procInfo.addParameter(spParam); ColumnSet<Procedure> resultRecord = procRecord.getResultSet(); int lastParamIndex = procInfo.getParameters().size() + 1; SPParameter param = new SPParameter(lastParamIndex, SPParameter.RESULT_SET, resultRecord.getFullName()); param.setClassType(java.sql.ResultSet.class); procInfo.addParameter(param); procInfo.setQueryPlan(queryNode); procInfo.setUpdateCount(procRecord.getUpdateCount()); results.add(procInfo); Schema schema = (Schema)storedProcedureInfo.getModelID(); if(name.equalsIgnoreCase(storedProcedureInfo.getProcedureCallableName()) || vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){ if (result != null) { throw new QueryMetadataException(QueryPlugin.Event.TEIID30358, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30358, name));
storedProcedureCommand.setUpdateCount(storedProcedureInfo.getUpdateCount()); storedProcedureCommand.setModelID(storedProcedureInfo.getModelID()); storedProcedureCommand.setProcedureID(storedProcedureInfo.getProcedureID()); storedProcedureCommand.setProcedureCallableName(storedProcedureInfo.getProcedureCallableName()); List<SPParameter> metadataParams = storedProcedureInfo.getParameters(); List<SPParameter> clonedMetadataParams = new ArrayList<SPParameter>(metadataParams.size()); int inputParams = 0; boolean isVirtual = storedProcedureInfo.getQueryPlan() != null; discoveredMetadata.addTempGroup(procName, tempElements, isVirtual); GroupSymbol procGroup = new GroupSymbol(storedProcedureInfo.getProcedureCallableName()); procGroup.setProcedure(true); TempMetadataID tid = discoveredMetadata.getTempGroupID(procName);
String procName = info.getProcedureCallableName(); List<ElementSymbol> tempElements = new ArrayList<ElementSymbol>(info.getParameters().size()); boolean[] updatable = new boolean[info.getParameters().size()]; int i = 0; List<ElementSymbol> rsColumns = Collections.emptyList(); for (SPParameter param : info.getParameters()) { if(param.getParameterType() != ParameterInfo.RESULT_SET) { ElementSymbol symbol = param.getParameterSymbol();
storedProcedureCommand.setProcedureName(fullName); List<SPParameter> metadataParams = storedProcedureInfo.getParameters();
@Test public void testProcVisibility() throws Exception { TransformationMetadata tm = exampleTransformationMetadata(); VDBMetaData vdb = tm.getVdbMetaData(); vdb.getModel("x").setVisible(false); StoredProcedureInfo spi = tm.getStoredProcedureInfoForProcedure("y"); //$NON-NLS-1$ assertEquals("x1.y", spi.getProcedureCallableName()); spi = tm.getStoredProcedureInfoForProcedure("x.y"); //$NON-NLS-1$ assertEquals("x.y", spi.getProcedureCallableName()); }
/** * @throws QueryResolverException * @see org.teiid.query.resolver.ProcedureContainerResolver#getPlan(org.teiid.query.metadata.QueryMetadataInterface, org.teiid.query.sql.symbol.GroupSymbol) */ protected String getPlan(QueryMetadataInterface metadata, GroupSymbol group) throws TeiidComponentException, QueryMetadataException, QueryResolverException { StoredProcedureInfo storedProcedureInfo = metadata.getStoredProcedureInfoForProcedure(group.getName()); //if there is a query plan associated with the procedure, get it. QueryNode plan = storedProcedureInfo.getQueryPlan(); if (plan.getQuery() == null) { throw new QueryResolverException(QueryPlugin.Event.TEIID30146, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30146, group)); } return plan.getQuery(); } }
StoredProcedureInfo procInfo = new StoredProcedureInfo(); procInfo.setProcedureCallableName(procedureFullName); procInfo.setProcedureID(procRecord); procInfo.setModelID(procRecord.getParent()); spParam.setClassType(DataTypeManager.getArrayType(spParam.getClassType())); procInfo.addParameter(spParam); ColumnSet<Procedure> resultRecord = procRecord.getResultSet(); int lastParamIndex = procInfo.getParameters().size() + 1; SPParameter param = new SPParameter(lastParamIndex, SPParameter.RESULT_SET, resultRecord.getFullName()); param.setClassType(java.sql.ResultSet.class); procInfo.addParameter(param); procInfo.setQueryPlan(queryNode); procInfo.setUpdateCount(procRecord.getUpdateCount()); results.add(procInfo); Schema schema = (Schema)storedProcedureInfo.getModelID(); if(name.equalsIgnoreCase(storedProcedureInfo.getProcedureCallableName()) || vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){ if (result != null) { throw new QueryMetadataException(QueryPlugin.Event.TEIID30358, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30358, name));
storedProcedureCommand.setUpdateCount(storedProcedureInfo.getUpdateCount()); storedProcedureCommand.setModelID(storedProcedureInfo.getModelID()); storedProcedureCommand.setProcedureID(storedProcedureInfo.getProcedureID()); storedProcedureCommand.setProcedureCallableName(storedProcedureInfo.getProcedureCallableName()); List<SPParameter> metadataParams = storedProcedureInfo.getParameters(); List<SPParameter> clonedMetadataParams = new ArrayList<SPParameter>(metadataParams.size()); int inputParams = 0; boolean isVirtual = storedProcedureInfo.getQueryPlan() != null; discoveredMetadata.addTempGroup(procName, tempElements, isVirtual); GroupSymbol procGroup = new GroupSymbol(storedProcedureInfo.getProcedureCallableName()); procGroup.setProcedure(true); TempMetadataID tid = discoveredMetadata.getTempGroupID(procName);
String procName = info.getProcedureCallableName(); List<ElementSymbol> tempElements = new ArrayList<ElementSymbol>(info.getParameters().size()); boolean[] updatable = new boolean[info.getParameters().size()]; int i = 0; List<ElementSymbol> rsColumns = Collections.emptyList(); for (SPParameter param : info.getParameters()) { if(param.getParameterType() != ParameterInfo.RESULT_SET) { ElementSymbol symbol = param.getParameterSymbol();
public Procedure getProcedure(StoredProcedureInfo sp) { if (sp.getProcedureID() instanceof Procedure) { return (Procedure)sp.getProcedureID(); } return null; }
storedProcedureCommand.setProcedureName(fullName); List<SPParameter> metadataParams = storedProcedureInfo.getParameters();
/** * @throws QueryResolverException * @see org.teiid.query.resolver.ProcedureContainerResolver#getPlan(org.teiid.query.metadata.QueryMetadataInterface, org.teiid.query.sql.symbol.GroupSymbol) */ protected String getPlan(QueryMetadataInterface metadata, GroupSymbol group) throws TeiidComponentException, QueryMetadataException, QueryResolverException { StoredProcedureInfo storedProcedureInfo = metadata.getStoredProcedureInfoForProcedure(group.getName()); //if there is a query plan associated with the procedure, get it. QueryNode plan = storedProcedureInfo.getQueryPlan(); if (plan.getQuery() == null) { throw new QueryResolverException(QueryPlugin.Event.TEIID30146, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30146, group)); } return plan.getQuery(); } }
public Procedure getProcedure(StoredProcedureInfo sp) { if (sp.getProcedureID() instanceof Procedure) { return (Procedure)sp.getProcedureID(); } return null; }