private MongoDocument getDocument(String tblName) throws TranslatorException { if (this.relatedDocs.get(tblName) != null) { return this.relatedDocs.get(tblName); } Table tbl = this.metadata.getTable(this.table.getParent().getName(), tblName); MongoDocument doc = new MongoDocument(tbl, this.metadata); this.relatedDocs.put(tblName, doc); return doc; }
public Collection<Table> getXMLTempGroups(Table tableRecord) { ArrayList<Table> results = new ArrayList<Table>(); String namePrefix = tableRecord.getName() + TransformationMetadata.DELIMITER_STRING; for (Table table : tableRecord.getParent().getTables().values()) { if (table.getTableType() == Type.XmlStagingTable && table.getName().startsWith(namePrefix)) { results.add(table); } } return results; }
public Collection<Table> getXMLTempGroups(Table tableRecord) { ArrayList<Table> results = new ArrayList<Table>(); String namePrefix = tableRecord.getName() + TransformationMetadata.DELIMITER_STRING; for (Table table : tableRecord.getParent().getTables().values()) { if (table.getTableType() == Type.XmlStagingTable && table.getName().startsWith(namePrefix)) { results.add(table); } } return results; }
public Collection<Table> getXMLTempGroups(Table tableRecord) { ArrayList<Table> results = new ArrayList<Table>(); String namePrefix = tableRecord.getName() + TransformationMetadata.DELIMITER_STRING; for (Table table : tableRecord.getParent().getTables().values()) { if (table.getTableType() == Type.XmlStagingTable && table.getName().startsWith(namePrefix)) { results.add(table); } } return results; }
public Table getMergeTable() throws TranslatorException { String tblName = this.table.getProperty(MongoDBMetadataProcessor.MERGE, false); if (tblName == null) { return null; } Table mergeTable = this.metadata.getTable(this.table.getParent().getName(), tblName); return mergeTable; }
private DBCollection getCollection(String name) throws TranslatorException { return getCollection(this.metadata.getTable(this.visitor.mongoDoc.getTable().getParent().getName(), name)); } private DBCollection getCollection(Table table) {
private static CsdlNavigationPropertyBinding buildReverseNavigationBinding(Table table, ForeignKey fk, SchemaResolver resolver) { CsdlNavigationPropertyBinding navigationBinding = new CsdlNavigationPropertyBinding(); navigationBinding.setPath(table.getName()+"_"+fk.getName()); if (!table.getParent().equals(fk.getReferenceKey().getParent().getParent())) { ODataSchemaInfo schema = resolver.getSchemaInfo(fk.getReferenceKey().getParent().getParent().getName()); if (schema == null) { return null; } navigationBinding.setTarget(table.getFullName()); } else { navigationBinding.setTarget(table.getName()); } return navigationBinding; }
public void modifyTableName(String name, Database.ResourceType type, String newName) { if (!assertInEditMode(Mode.SCHEMA)) { return; } Table table = (Table)getSchemaRecord(name, type); assertGrant(Grant.Permission.Privilege.ALTER, Database.ResourceType.TABLE, table); Schema s = table.getParent(); if (s.getTable(newName) != null) { throw new DuplicateRecordException(DataPlugin.Event.TEIID60013, DataPlugin.Util.gs(DataPlugin.Event.TEIID60013, newName)); } s.getTables().remove(table.getName()); table.setName(newName); s.getTables().put(newName, table); }
public void modifyTableName(String name, Database.ResourceType type, String newName) { if (!assertInEditMode(Mode.SCHEMA)) { return; } Table table = (Table)getSchemaRecord(name, type); assertGrant(Grant.Permission.Privilege.ALTER, Database.ResourceType.TABLE, table); Schema s = table.getParent(); if (s.getTable(newName) != null) { throw new DuplicateRecordException(DataPlugin.Event.TEIID60013, DataPlugin.Util.gs(DataPlugin.Event.TEIID60013, newName)); } s.getTables().remove(table.getName()); table.setName(newName); s.getTables().put(newName, table); }
@Override public void visit(AlterView obj) { Table t = (Table)obj.getTarget().getMetadataID(); String sql = obj.getDefinition().toString(); if (getMetadataRepository(vdb, t.getParent().getName()) != null) { getMetadataRepository(vdb, t.getParent().getName()).setViewDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t, sql); } alterView(vdb, t, sql, false); if (pdm.getEventDistributor() != null) { pdm.getEventDistributor().setViewDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t.getParent().getName(), t.getName(), sql); } }
void addForeignTempTable(final String tempTableName, Create create) { TempMetadataID id = tempMetadataStore.getTempGroupID(tempTableName); if (id == null) { id = tempMetadataStore.addTempGroup(tempTableName, create.getColumnSymbols(), false, true); id.setOriginalMetadataID(create.getTableMetadata()); id.getTableData().setModel(create.getTableMetadata().getParent()); } this.foreignTempTables.put(tempTableName, create.getTableMetadata()); }
@Override public void visit(AlterView obj) { Table t = (Table)obj.getTarget().getMetadataID(); String sql = obj.getDefinition().toString(); if (getMetadataRepository(vdb, t.getParent().getName()) != null) { getMetadataRepository(vdb, t.getParent().getName()).setViewDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t, sql); } alterView(vdb, t, sql, false); if (pdm.getEventDistributor() != null) { pdm.getEventDistributor().setViewDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t.getParent().getName(), t.getName(), sql); } }
@Override public void visit(AlterView obj) { Table t = (Table)obj.getTarget().getMetadataID(); String sql = obj.getDefinition().toString(); if (getMetadataRepository(vdb, t.getParent().getName()) != null) { getMetadataRepository(vdb, t.getParent().getName()).setViewDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t, sql); } alterView(vdb, t, sql, false); if (pdm.getEventDistributor() != null) { pdm.getEventDistributor().setViewDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t.getParent().getName(), t.getName(), sql); } }
void addForeignTempTable(final String tempTableName, Create create) { TempMetadataID id = tempMetadataStore.getTempGroupID(tempTableName); if (id == null) { id = tempMetadataStore.addTempGroup(tempTableName, create.getColumnSymbols(), false, true); id.setOriginalMetadataID(create.getTableMetadata()); id.getTableData().setModel(create.getTableMetadata().getParent()); } this.foreignTempTables.put(tempTableName, create.getTableMetadata()); }
void addForeignTempTable(final String tempTableName, Create create) { TempMetadataID id = tempMetadataStore.getTempGroupID(tempTableName); if (id == null) { id = tempMetadataStore.addTempGroup(tempTableName, create.getColumnSymbols(), false, true); id.setOriginalMetadataID(create.getTableMetadata()); id.getTableData().setModel(create.getTableMetadata().getParent()); } this.foreignTempTables.put(tempTableName, create.getTableMetadata()); }
private static CsdlNavigationPropertyBinding buildNavigationBinding(ForeignKey fk, SchemaResolver resolver) { CsdlNavigationPropertyBinding navigationBinding = new CsdlNavigationPropertyBinding(); navigationBinding.setPath(fk.getName()); if (!fk.getParent().getParent().equals(fk.getReferenceKey().getParent().getParent())) { ODataSchemaInfo schema = resolver.getSchemaInfo(fk.getReferenceKey().getParent().getParent().getName()); if (schema == null) { return null; } navigationBinding.setTarget(fk.getReferenceKey().getParent().getFullName()); } else { navigationBinding.setTarget(fk.getReferenceKey().getParent().getName()); } return navigationBinding; }
private static CsdlNavigationProperty buildNavigation(ForeignKey fk) { String refSchemaName = fk.getReferenceKey().getParent().getParent().getName(); CsdlNavigationProperty navigaton = new CsdlNavigationProperty(); navigaton.setName(fk.getName()).setType(new FullQualifiedName(refSchemaName, fk.getReferenceTableName())); ArrayList<CsdlReferentialConstraint> constrainsts = new ArrayList<CsdlReferentialConstraint>(); for (int i = 0; i < fk.getColumns().size(); i++) { Column c = fk.getColumns().get(i); String refColumn = fk.getReferenceColumns().get(i); CsdlReferentialConstraint constraint = new CsdlReferentialConstraint(); constraint.setProperty(c.getName()); constraint.setReferencedProperty(refColumn); } navigaton.setReferentialConstraints(constrainsts); return navigaton; }
private void addLazyMatViewTrigger(VDBMetaData vdb, Table t, Table st, Table.TriggerEvent event) { String name = "ON_"+st.getName()+"_"+event.name()+"_FOR_"+t.getName()+"_FOR_LAZY_SNAPSHOT"; String plan = "FOR EACH ROW\n" + "BEGIN ATOMIC\n" + "EXECUTE SYSADMIN.updateStaleCount(schemaName=>'"+t.getParent().getName()+"', viewName=>'"+t.getName()+"');\n" + "END\n"; Trigger trigger = new Trigger(); trigger.setName(name); trigger.setEvent(event); trigger.setPlan(plan); trigger.setAfter(true); trigger.setProperty(DDLStringVisitor.GENERATED, "true"); st.getTriggers().put(name, trigger); LogManager.logDetail(LogConstants.CTX_MATVIEWS, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31256, st.getName(), t.getName())); }
private void addLazyMatViewTrigger(VDBMetaData vdb, Table t, Table st, Table.TriggerEvent event) { String name = "ON_"+st.getName()+"_"+event.name()+"_FOR_"+t.getName()+"_FOR_LAZY_SNAPSHOT"; String plan = "FOR EACH ROW\n" + "BEGIN ATOMIC\n" + "EXECUTE SYSADMIN.updateStaleCount(schemaName=>'"+t.getParent().getName()+"', viewName=>'"+t.getName()+"');\n" + "END\n"; Trigger trigger = new Trigger(); trigger.setName(name); trigger.setEvent(event); trigger.setPlan(plan); trigger.setAfter(true); trigger.setProperty(DDLStringVisitor.GENERATED, "true"); st.getTriggers().put(name, trigger); LogManager.logDetail(LogConstants.CTX_MATVIEWS, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31256, st.getName(), t.getName())); }
private void addLazyMatViewTrigger(VDBMetaData vdb, Table t, Table st, Table.TriggerEvent event) { String name = "ON_"+st.getName()+"_"+event.name()+"_FOR_"+t.getName()+"_FOR_LAZY_SNAPSHOT"; String plan = "FOR EACH ROW\n" + "BEGIN ATOMIC\n" + "EXECUTE SYSADMIN.updateStaleCount(schemaName=>'"+t.getParent().getName()+"', viewName=>'"+t.getName()+"');\n" + "END\n"; Trigger trigger = new Trigger(); trigger.setName(name); trigger.setEvent(event); trigger.setPlan(plan); trigger.setAfter(true); trigger.setProperty(DDLStringVisitor.GENERATED, "true"); st.getTriggers().put(name, trigger); LogManager.logDetail(LogConstants.CTX_MATVIEWS, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31256, st.getName(), t.getName())); }