@Override public TempMetadataID getGlobalTempTableMetadataId(Object groupID) throws TeiidComponentException, TeiidProcessingException { Object mid = metadata.getModelID(groupID); String name = metadata.getName(mid); return getStore(name).getGlobalTempTableMetadataId(groupID); }
public Object getElementID(String elementName) throws TeiidComponentException, QueryMetadataException { return actualMetadata.getElementID(elementName); }
public String getFullName(Object metadataID) throws TeiidComponentException, QueryMetadataException { return actualMetadata.getFullName(metadataID); }
public static boolean hasDefault(Object mid, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException { Object defaultValue = metadata.getDefaultValue(mid); return defaultValue != null || metadata.elementSupports(mid, SupportConstants.Element.NULL); }
private Object validateMatView(QueryMetadataInterface metadata, String viewName) throws TeiidComponentException, TeiidProcessingException { try { Object groupID = metadata.getGroupID(viewName); if (!metadata.hasMaterialization(groupID) || metadata.getMaterialization(groupID) != null) { throw new QueryProcessingException(QueryPlugin.Event.TEIID30233, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30233, viewName)); } return groupID; } catch (QueryMetadataException e) { throw new TeiidProcessingException(QueryPlugin.Event.TEIID30234, e); } }
private void modifyToCheckMatViewStatus(QueryMetadataInterface metadata, QueryCommand queryCommand, Set<Object> ids) throws QueryMetadataException, TeiidComponentException { for (Object viewMatadataId : ids) { String schemaName = metadata.getName(metadata.getModelID(viewMatadataId)); String viewName = metadata.getName(viewMatadataId); Expression expr1 = new Constant(schemaName); Expression expr2 = new Constant(viewName); Function status = new Function("mvstatus", new Expression[] {expr1, expr2}); //$NON-NLS-1$ status.setType(DataTypeManager.DefaultDataClasses.INTEGER); FunctionDescriptor descriptor = metadata.getFunctionLibrary().findFunction("mvstatus", new Class[] { DataTypeManager.DefaultDataClasses.STRING, DataTypeManager.DefaultDataClasses.STRING }); //$NON-NLS-1$ status.setFunctionDescriptor(descriptor); Query query = queryCommand.getProjectedQuery(); //insert first so that it gets evaluated ahead of any false predicate query.setCriteria(Criteria.combineCriteria(new CompareCriteria(status, CompareCriteria.EQ, new Constant(1)), query.getCriteria())); } }
static GroupInfo getGroupInfo(GroupSymbol group, QueryMetadataInterface metadata) throws TeiidComponentException, QueryMetadataException { String key = GroupInfo.CACHE_PREFIX + group.getName(); GroupInfo groupInfo = (GroupInfo)metadata.getFromMetadataCache(group.getMetadataID(), key); if (groupInfo == null) { group = group.clone(); // get all elements from the metadata List elementIDs = metadata.getElementIDsInGroupID(group.getMetadataID()); LinkedHashMap<Object, ElementSymbol> symbols = new LinkedHashMap<Object, ElementSymbol>(elementIDs.size()); for (Object elementID : elementIDs) { String elementName = metadata.getName(elementID); // Form an element symbol from the ID ElementSymbol element = new ElementSymbol(elementName, group); element.setMetadataID(elementID); element.setType( DataTypeManager.getDataTypeClass(metadata.getElementRuntimeTypeName(element.getMetadataID())) ); symbols.put(elementID, element); } groupInfo = new GroupInfo(symbols); metadata.addToMetadataCache(group.getMetadataID(), key, groupInfo); } return groupInfo; }
void validateRowProcessing(ProcedureContainer container) throws TeiidComponentException, QueryMetadataException, QueryPlannerException { if (metadata.getUniqueKeysInGroup(container.getGroup().getMetadataID()).isEmpty() || !CapabilitiesUtil.supports(Capability.CRITERIA_COMPARE_EQ, metadata.getModelID(container.getGroup().getMetadataID()), metadata, capFinder)) { throw new QueryPlannerException(QueryPlugin.Event.TEIID30253, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30253, container)); } }
private void validateMultisourceInsert(GroupSymbol group) { try { if (getMetadata().isMultiSource(getMetadata().getModelID(group.getMetadataID()))) { handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.multisource_insert", group), group); //$NON-NLS-1$ } } catch (QueryMetadataException e) { handleException(e); } catch (TeiidComponentException e) { handleException(e); } }
public StoredProcedureInfo getStoredProcedureInfoForProcedure( String fullyQualifiedProcedureName) throws TeiidComponentException, QueryMetadataException { return actualMetadata .getStoredProcedureInfoForProcedure(fullyQualifiedProcedureName); }
@Override public String getName(Object metadataID) throws TeiidComponentException, QueryMetadataException { return actualMetadata.getName(metadataID); }
public Object getGroupID(String groupName) throws TeiidComponentException, QueryMetadataException { return actualMetadata.getGroupID(groupName); }
@Override public FunctionLibrary getFunctionLibrary() { return actualMetadata.getFunctionLibrary(); }
@Override public Object getModelID(String modelName) throws TeiidComponentException, QueryMetadataException { return actualMetadata.getModelID(modelName); }
private void checkNotNull(ElementSymbol param, Object value) throws TeiidComponentException, QueryMetadataException, QueryValidatorException { if (metadata.elementSupports(param.getMetadataID(), SupportConstants.Element.NULL)) { return; } if (metadata.isVariadic(param.getMetadataID())) { if (value instanceof ArrayImpl) { ArrayImpl av = (ArrayImpl)value; for (Object o : av.getValues()) { if (o == null) { throw new QueryValidatorException(QueryPlugin.Event.TEIID30164, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30164, param)); } } } } else if (value == null) { throw new QueryValidatorException(QueryPlugin.Event.TEIID30164, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30164, param)); } }
private void validateAlterTarget(Alter<?> obj) throws QueryMetadataException, TeiidComponentException { Object schemaId = obj.getTarget().getMetadataID(); if (schemaId == null) { return; } if (getMetadata().getImportedModels().contains(getMetadata().getName(schemaId))) { handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.invalid_alter", obj.getTarget()), obj.getTarget()); //$NON-NLS-1$ } }
public Object addToMetadataCache(Object metadataID, String key, Object value) throws TeiidComponentException, QueryMetadataException { return actualMetadata.addToMetadataCache(metadataID, key, value); }
public static Collection<ElementSymbol> collectTempElements(GroupSymbol group, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException { ArrayList<ElementSymbol> validElements = new ArrayList<ElementSymbol>(); // Create GroupSymbol for temp groups and add to groups Collection<?> tempGroups = metadata.getXMLTempGroups(group.getMetadataID()); for (Object tempGroupID : tempGroups) { String name = metadata.getFullName(tempGroupID); GroupSymbol tempGroup = new GroupSymbol(name); tempGroup.setMetadataID(tempGroupID); validElements.addAll(ResolverUtil.resolveElementsInGroup(tempGroup, metadata)); } return validElements; }
/** * Constructor for ResolveElementsVisitor. * * External groups are ordered from inner to outer most */ public ResolverVisitor(QueryMetadataInterface metadata, Collection<GroupSymbol> internalGroups, GroupContext externalContext) { this.groups = internalGroups; this.externalContext = externalContext; this.metadata = metadata; this.findShortName = metadata.findShortName(); }
public boolean elementSupports(Object elementID, int elementConstant) throws TeiidComponentException, QueryMetadataException { return actualMetadata.elementSupports(elementID, elementConstant); }