org.teiid.metadata.Table.getForeignKeys()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(8.1k)|赞(0)|评价(0)|浏览(315)

本文整理了Java中org.teiid.metadata.Table.getForeignKeys()方法的一些代码示例,展示了Table.getForeignKeys()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Table.getForeignKeys()方法的具体详情如下:
包路径:org.teiid.metadata.Table
类名称:Table
方法名:getForeignKeys

Table.getForeignKeys介绍

暂无

代码示例

代码示例来源:origin: org.jboss.teiid/teiid-engine

  1. public Collection<ForeignKey> getForeignKeysInGroup(final Object groupID)
  2. throws TeiidComponentException, QueryMetadataException {
  3. return ((Table)groupID).getForeignKeys();
  4. }

代码示例来源:origin: teiid/teiid

  1. public Collection<ForeignKey> getForeignKeysInGroup(final Object groupID)
  2. throws TeiidComponentException, QueryMetadataException {
  3. return ((Table)groupID).getForeignKeys();
  4. }

代码示例来源:origin: org.teiid/teiid-engine

  1. public Collection<ForeignKey> getForeignKeysInGroup(final Object groupID)
  2. throws TeiidComponentException, QueryMetadataException {
  3. return ((Table)groupID).getForeignKeys();
  4. }

代码示例来源:origin: org.teiid.connectors/translator-mongodb

  1. boolean isPartOfForeignKey(String columnName) {
  2. for (ForeignKey fk : this.table.getForeignKeys()) {
  3. for (Column column : fk.getColumns()) {
  4. if (column.getName().equals(columnName)) {
  5. return true;
  6. }
  7. }
  8. }
  9. return false;
  10. }

代码示例来源:origin: org.teiid.connectors/translator-mongodb

  1. static boolean isPartOfForeignKey(Table table, String columnName) {
  2. for (ForeignKey fk : table.getForeignKeys()) {
  3. for (Column column : fk.getColumns()) {
  4. if (column.getName().equals(columnName)) {
  5. return true;
  6. }
  7. }
  8. }
  9. return false;
  10. }

代码示例来源:origin: org.teiid.connectors/translator-mongodb

  1. boolean isCompositeForeignKey(String columnName) {
  2. for (ForeignKey fk : this.table.getForeignKeys()) {
  3. for (Column column : fk.getColumns()) {
  4. if (column.getName().equals(columnName)) {
  5. return fk.getColumns().size() > 1;
  6. }
  7. }
  8. }
  9. return false;
  10. }

代码示例来源:origin: teiid/teiid

  1. public Collection<KeyRecord> getAllKeys() {
  2. Collection<KeyRecord> keys = new LinkedList<KeyRecord>();
  3. if (getPrimaryKey() != null) {
  4. keys.add(getPrimaryKey());
  5. }
  6. keys.addAll(getForeignKeys());
  7. keys.addAll(getAccessPatterns());
  8. keys.addAll(getIndexes());
  9. keys.addAll(getUniqueKeys());
  10. return keys;
  11. }

代码示例来源:origin: org.teiid.connectors/translator-mongodb

  1. static String getForeignKeyRefTable(Table table, String columnName) {
  2. for (ForeignKey fk : table.getForeignKeys()) {
  3. for (Column column : fk.getColumns()) {
  4. if (column.getName().equals(columnName)) {
  5. return fk.getReferenceTableName();
  6. }
  7. }
  8. }
  9. return null;
  10. }

代码示例来源:origin: org.teiid.connectors/translator-mongodb

  1. private void removeParentKey(MongoDocument document, BasicDBObject row) throws TranslatorException {
  2. Table source = document.getTable();
  3. Table target = document.getMergeTable();
  4. for (ForeignKey fk:source.getForeignKeys()) {
  5. if (fk.getReferenceTableName().equals(target.getName())){
  6. for (int i = 0; i < fk.getColumns().size(); i++) {
  7. if (row != null) {
  8. row.remove(fk.getColumns().get(i).getName());
  9. }
  10. }
  11. }
  12. }
  13. }

代码示例来源:origin: org.teiid.connectors/translator-odata4

  1. static Table getComplexTableParentTable(RuntimeMetadata metadata, Table table) throws TranslatorException {
  2. for (Column c : table.getColumns()) {
  3. if (ODataMetadataProcessor.isPseudo(c)) {
  4. ForeignKey fk = table.getForeignKeys().get(0);
  5. String tableName = fk.getReferenceTableName();
  6. if (tableName.indexOf('.') == -1) {
  7. tableName = fk.getReferenceKey().getParent().getFullName();
  8. }
  9. return (Table)metadata.getTable(tableName);
  10. }
  11. }
  12. return table;
  13. }

代码示例来源:origin: org.teiid.connectors/translator-jpa

  1. private boolean isParentOf(NamedTable parent, NamedTable child) {
  2. String[] splits = child.getName().split("\\.");
  3. String correlation = splits[0];
  4. String attrName = splits[1];
  5. if (!parent.getCorrelationName().equals(correlation)) {
  6. return false;
  7. }
  8. for (ForeignKey fk:parent.getMetadataObject().getForeignKeys()){
  9. if (fk.getReferenceKey().getParent().equals(child.getMetadataObject())) {
  10. return true;
  11. }
  12. }
  13. return false;
  14. }

代码示例来源:origin: org.jboss.teiid/teiid-engine

  1. @Override
  2. public void visit(Create obj) {
  3. if (!obj.getPrimaryKey().isEmpty()) {
  4. validateSortable(obj.getPrimaryKey());
  5. }
  6. if (obj.getTableMetadata() != null) {
  7. Table t = obj.getTableMetadata();
  8. if (!t.getForeignKeys().isEmpty()) {
  9. handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.temp_fk", obj.getTable()), obj); //$NON-NLS-1$
  10. }
  11. }
  12. }

代码示例来源:origin: org.teiid/teiid-engine

  1. @Override
  2. public void visit(Create obj) {
  3. if (!obj.getPrimaryKey().isEmpty()) {
  4. validateSortable(obj.getPrimaryKey());
  5. }
  6. if (obj.getTableMetadata() != null) {
  7. Table t = obj.getTableMetadata();
  8. if (!t.getForeignKeys().isEmpty()) {
  9. handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.temp_fk", obj.getTable()), obj); //$NON-NLS-1$
  10. }
  11. }
  12. }

代码示例来源:origin: teiid/teiid

  1. @Override
  2. public void visit(Create obj) {
  3. if (!obj.getPrimaryKey().isEmpty()) {
  4. validateSortable(obj.getPrimaryKey());
  5. }
  6. if (obj.getTableMetadata() != null) {
  7. Table t = obj.getTableMetadata();
  8. if (!t.getForeignKeys().isEmpty()) {
  9. handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.temp_fk", obj.getTable()), obj); //$NON-NLS-1$
  10. }
  11. }
  12. }

代码示例来源:origin: org.teiid/teiid-olingo

  1. static Criteria buildJoinCriteria(DocumentNode from, DocumentNode to) {
  2. for (ForeignKey fk:from.getTable().getForeignKeys()) {
  3. if (fk.getReferenceKey().getParent().equals(to.getTable())) {
  4. return buildCriteria(from, to, fk);
  5. }
  6. }
  7. return null;
  8. }

代码示例来源:origin: org.teiid.connectors/translator-odata4

  1. private boolean isJoinOrPkColumn(Column column) {
  2. Table table = (Table)column.getParent();
  3. boolean isKey = (table.getPrimaryKey().getColumnByName(column.getName()) != null);
  4. if (!isKey) {
  5. for(ForeignKey fk:table.getForeignKeys()) {
  6. if (fk.getColumnByName(column.getName()) != null) {
  7. isKey = true;
  8. }
  9. }
  10. }
  11. return isKey;
  12. }
  13. }

代码示例来源:origin: teiid/teiid

  1. public static ForeignKey createForeignKey(String name, Table group, List<Column> elements, KeyRecord primaryKey) {
  2. ForeignKey key = new ForeignKey();
  3. key.setName(name);
  4. for (Column column : elements) {
  5. key.addColumn(column);
  6. }
  7. key.setPrimaryKey(primaryKey);
  8. group.getForeignKeys().add(key);
  9. return key;
  10. }

代码示例来源:origin: org.teiid.connectors/translator-mongodb

  1. private void buildForeignKeyReferences() throws TranslatorException {
  2. for (ForeignKey fk:this.table.getForeignKeys()) {
  3. MergeDetails key = new MergeDetails(this);
  4. key.setParentTable(fk.getReferenceTableName());
  5. key.setEmbeddedTable(this.table.getName());
  6. key.setName(fk.getName());
  7. key.setColumns(MongoDBSelectVisitor.getColumnNames(fk.getColumns()));
  8. key.setReferenceColumns(fk.getReferenceColumns());
  9. this.foreignKeys.put(MongoDBSelectVisitor.getColumnNames(fk.getColumns()), key);
  10. }
  11. }

代码示例来源:origin: teiid/teiid

  1. @Test
  2. public void testCrossReferenceFKFromUniqueKey() throws Exception {
  3. String ddl = "CREATE FOREIGN TABLE G1(g1e1 integer, g1e2 varchar, UNIQUE(g1e2));";
  4. String ddl2 = "CREATE FOREIGN TABLE G2(g2e1 integer, g2e2 varchar, FOREIGN KEY (g2e2) REFERENCES pm1.G1(g1e2))";
  5. buildModel("pm1", true, this.vdb, this.store, ddl);
  6. buildModel("pm2", true, this.vdb, this.store, ddl2);
  7. buildTransformationMetadata();
  8. ValidatorReport report = new ValidatorReport();
  9. report = new MetadataValidator().validate(this.vdb, this.store);
  10. assertFalse(printError(report), report.hasItems());
  11. assertNotNull(this.store.getSchema("pm2").getTable("G2").getForeignKeys().get(0).getReferenceKey());
  12. assertEquals(1, this.store.getSchema("pm2").getTable("G2").getForeignKeys().get(0).getReferenceKey().getColumns().size());
  13. assertEquals("g1e2", this.store.getSchema("pm2").getTable("G2").getForeignKeys().get(0).getReferenceKey().getColumns().get(0).getName());
  14. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testAllowJoinFalse() throws Exception {
  2. String sql = "select a.e1, b.e1 from pm4.g1 a, pm4.g2 b where a.e1 = b.e1 and a.e2 = b.e2"; //$NON-NLS-1$
  3. FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
  4. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  5. caps.setCapabilitySupport(Capability.QUERY_FROM_JOIN_INNER, true);
  6. caps.setSourceProperty(Capability.JOIN_CRITERIA_ALLOWED, SupportedJoinCriteria.KEY);
  7. capFinder.addCapabilities("pm4", caps); //$NON-NLS-1$
  8. TransformationMetadata example4 = RealMetadataFactory.example4();
  9. example4.getMetadataStore().getSchema("pm4").getTable("g2").getForeignKeys().get(0).setProperty(ForeignKey.ALLOW_JOIN, Boolean.FALSE.toString());
  10. TestOptimizer.helpPlan(sql, example4,
  11. new String[] {"SELECT g_0.e1 AS c_0, g_0.e2 AS c_1 FROM pm4.g1 AS g_0 ORDER BY c_0, c_1", "SELECT g_0.e1 AS c_0, g_0.e2 AS c_1 FROM pm4.g2 AS g_0 ORDER BY c_0, c_1"}, capFinder, TestOptimizer.ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
  12. }

相关文章