public Collection getUniqueKeysInGroup(Object groupID) throws TeiidComponentException, QueryMetadataException { return actualMetadata.getUniqueKeysInGroup(groupID); }
public Collection getUniqueKeysInGroup(Object groupID) throws TeiidComponentException, QueryMetadataException { return actualMetadata.getUniqueKeysInGroup(groupID); }
public Collection getUniqueKeysInGroup(Object groupID) throws TeiidComponentException, QueryMetadataException { return actualMetadata.getUniqueKeysInGroup(groupID); }
private boolean isUpsertKeyColumn(Insert obj, ElementSymbol insertElem) throws TeiidComponentException, QueryMetadataException { if (!obj.isUpsert()) { return false; } Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); //not an actual update, but a modification of existing row return !keys.isEmpty() && getMetadata().getElementIDsInKey(keys.iterator().next()).contains(insertElem.getMetadataID()); }
public Collection getUniqueKeysInGroup(Object groupID) throws TeiidComponentException, QueryMetadataException { groupID = getActualMetadataId(groupID); if(groupID instanceof TempMetadataID) { LinkedList<List<TempMetadataID>> result = new LinkedList<List<TempMetadataID>>(); TempMetadataID id = (TempMetadataID)groupID; if (id.getPrimaryKey() != null) { result.add(id.getPrimaryKey()); } if (id.getUniqueKeys() != null) { result.addAll(id.getUniqueKeys()); } return result; } return this.actualMetadata.getUniqueKeysInGroup(groupID); }
private boolean isUpsertKeyColumn(Insert obj, ElementSymbol insertElem) throws TeiidComponentException, QueryMetadataException { if (!obj.isUpsert()) { return false; } Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); //not an actual update, but a modification of existing row return !keys.isEmpty() && getMetadata().getElementIDsInKey(keys.iterator().next()).contains(insertElem.getMetadataID()); }
private boolean isUpsertKeyColumn(Insert obj, ElementSymbol insertElem) throws TeiidComponentException, QueryMetadataException { if (!obj.isUpsert()) { return false; } Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); //not an actual update, but a modification of existing row return !keys.isEmpty() && getMetadata().getElementIDsInKey(keys.iterator().next()).contains(insertElem.getMetadataID()); }
public Collection getUniqueKeysInGroup(Object groupID) throws TeiidComponentException, QueryMetadataException { groupID = getActualMetadataId(groupID); if(groupID instanceof TempMetadataID) { LinkedList<List<TempMetadataID>> result = new LinkedList<List<TempMetadataID>>(); TempMetadataID id = (TempMetadataID)groupID; if (id.getPrimaryKey() != null) { result.add(id.getPrimaryKey()); } if (id.getUniqueKeys() != null) { result.addAll(id.getUniqueKeys()); } return result; } return this.actualMetadata.getUniqueKeysInGroup(groupID); }
public Collection getUniqueKeysInGroup(Object groupID) throws TeiidComponentException, QueryMetadataException { groupID = getActualMetadataId(groupID); if(groupID instanceof TempMetadataID) { LinkedList<List<TempMetadataID>> result = new LinkedList<List<TempMetadataID>>(); TempMetadataID id = (TempMetadataID)groupID; if (id.getPrimaryKey() != null) { result.add(id.getPrimaryKey()); } if (id.getUniqueKeys() != null) { result.addAll(id.getUniqueKeys()); } return result; } return this.actualMetadata.getUniqueKeysInGroup(groupID); }
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)); } }
UnaryFromClause ufc = (UnaryFromClause)clause; if (!metadata.getUniqueKeysInGroup(ufc.getGroup().getMetadataID()).isEmpty()) { keyPreservingGroups.add(ufc.getGroup());
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)); } }
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 List<Criteria> createPkCriteria(GroupSymbol group, String correlationName, Query query, GroupSymbol varGroup) throws TeiidComponentException, QueryMetadataException { Object pk = metadata.getPrimaryKey(group.getMetadataID()); if (pk == null) { pk = metadata.getUniqueKeysInGroup(group.getMetadataID()).iterator().next(); } int i = query.getSelect().getSymbols().size(); List<Object> ids = metadata.getElementIDsInKey(pk); List<Criteria> pkCriteria = new ArrayList<Criteria>(ids.size()); for (Object object : ids) { ElementSymbol es = new ElementSymbol(correlationName + Symbol.SEPARATOR + metadata.getName(object)); query.getSelect().addSymbol(new AliasSymbol("s_" +i, es)); //$NON-NLS-1$ es = new ElementSymbol(group.getName() + Symbol.SEPARATOR + metadata.getName(object)); pkCriteria.add(new CompareCriteria(es, CompareCriteria.EQ, new ElementSymbol("s_" + i, varGroup.clone()))); //$NON-NLS-1$ i++; } return pkCriteria; }
UnaryFromClause ufc = (UnaryFromClause)clause; if (!metadata.getUniqueKeysInGroup(ufc.getGroup().getMetadataID()).isEmpty()) { keyPreservingGroups.add(ufc.getGroup());
private List<Criteria> createPkCriteria(GroupSymbol viewGroup, GroupSymbol group, String correlationName, Query query, GroupSymbol varGroup) throws TeiidComponentException, QueryMetadataException, QueryValidatorException { Object pk = metadata.getPrimaryKey(group.getMetadataID()); if (pk == null) { Collection uniqueKeysInGroup = metadata.getUniqueKeysInGroup(group.getMetadataID()); if (uniqueKeysInGroup.isEmpty()) { throw new QueryValidatorException(QueryPlugin.Event.TEIID31267, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31267, viewGroup, group)); } pk = uniqueKeysInGroup.iterator().next(); } int i = query.getSelect().getSymbols().size(); List<Object> ids = metadata.getElementIDsInKey(pk); List<Criteria> pkCriteria = new ArrayList<Criteria>(ids.size()); for (Object object : ids) { ElementSymbol es = new ElementSymbol(correlationName + Symbol.SEPARATOR + metadata.getName(object)); query.getSelect().addSymbol(new AliasSymbol("s_" +i, es)); //$NON-NLS-1$ es = new ElementSymbol(group.getName() + Symbol.SEPARATOR + metadata.getName(object)); pkCriteria.add(new CompareCriteria(es, CompareCriteria.EQ, new ElementSymbol("s_" + i, varGroup.clone()))); //$NON-NLS-1$ i++; } return pkCriteria; }
UnaryFromClause ufc = (UnaryFromClause)clause; if (!metadata.getUniqueKeysInGroup(ufc.getGroup().getMetadataID()).isEmpty()) { keyPreservingGroups.add(ufc.getGroup());
private List<Criteria> createPkCriteria(GroupSymbol viewGroup, GroupSymbol group, String correlationName, Query query, GroupSymbol varGroup) throws TeiidComponentException, QueryMetadataException, QueryValidatorException { Object pk = metadata.getPrimaryKey(group.getMetadataID()); if (pk == null) { Collection uniqueKeysInGroup = metadata.getUniqueKeysInGroup(group.getMetadataID()); if (uniqueKeysInGroup.isEmpty()) { throw new QueryValidatorException(QueryPlugin.Event.TEIID31267, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31267, viewGroup, group)); } pk = uniqueKeysInGroup.iterator().next(); } int i = query.getSelect().getSymbols().size(); List<Object> ids = metadata.getElementIDsInKey(pk); List<Criteria> pkCriteria = new ArrayList<Criteria>(ids.size()); for (Object object : ids) { ElementSymbol es = new ElementSymbol(correlationName + Symbol.SEPARATOR + metadata.getName(object)); query.getSelect().addSymbol(new AliasSymbol("s_" +i, es)); //$NON-NLS-1$ es = new ElementSymbol(group.getName() + Symbol.SEPARATOR + metadata.getName(object)); pkCriteria.add(new CompareCriteria(es, CompareCriteria.EQ, new ElementSymbol("s_" + i, varGroup.clone()))); //$NON-NLS-1$ i++; } return pkCriteria; }
Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); if (keys.isEmpty()) { handleValidationError(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31132, obj.getGroup()), obj);
Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); if (keys.isEmpty()) { handleValidationError(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31132, obj.getGroup()), obj);