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

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

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

Table.getIndexes介绍

暂无

代码示例

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

public Collection<KeyRecord> getIndexesInGroup(final Object groupID) throws TeiidComponentException, QueryMetadataException {
  return ((Table)groupID).getIndexes();
}

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

public Collection<KeyRecord> getIndexesInGroup(final Object groupID) throws TeiidComponentException, QueryMetadataException {
  return ((Table)groupID).getIndexes();
}

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

public Collection<KeyRecord> getIndexesInGroup(final Object groupID) throws TeiidComponentException, QueryMetadataException {
  return ((Table)groupID).getIndexes();
}

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

KeyRecord addFBI(MetadataFactory factory, List<Expression> expressions, Table table, String name) throws MetadataException {
  List<String> columnNames = new ArrayList<String>(expressions.size());
  List<Boolean> nonColumnExpressions = new ArrayList<Boolean>(expressions.size());
  boolean fbi = false;
  for (int i = 0; i < expressions.size(); i++) {
    Expression ex = expressions.get(i);
    if (ex instanceof ElementSymbol) {
       columnNames.add(((ElementSymbol)ex).getName());
       nonColumnExpressions.add(Boolean.FALSE);
    } else {
      columnNames.add(ex.toString());
      nonColumnExpressions.add(Boolean.TRUE);
      fbi = true;
    }
  }
  return factory.addFunctionBasedIndex(name != null?name:(SQLConstants.NonReserved.INDEX+(fbi?table.getFunctionBasedIndexes().size():table.getIndexes().size())), columnNames, nonColumnExpressions, table);
}

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

KeyRecord addFBI(MetadataFactory factory, List<Expression> expressions, Table table, String name) throws MetadataException {
  List<String> columnNames = new ArrayList<String>(expressions.size());
  List<Boolean> nonColumnExpressions = new ArrayList<Boolean>(expressions.size());
  boolean fbi = false;
  for (int i = 0; i < expressions.size(); i++) {
    Expression ex = expressions.get(i);
    if (ex instanceof ElementSymbol) {
       columnNames.add(((ElementSymbol)ex).getName());
       nonColumnExpressions.add(Boolean.FALSE);
    } else {
      columnNames.add(ex.toString());
      nonColumnExpressions.add(Boolean.TRUE);
      fbi = true;
    }
  }
  return factory.addFunctionBasedIndex(name != null?name:(SQLConstants.NonReserved.INDEX+(fbi?table.getFunctionBasedIndexes().size():table.getIndexes().size())), columnNames, nonColumnExpressions, table);
}

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

KeyRecord addFBI(MetadataFactory factory, List<Expression> expressions, Table table, String name) throws MetadataException {
  List<String> columnNames = new ArrayList<String>(expressions.size());
  List<Boolean> nonColumnExpressions = new ArrayList<Boolean>(expressions.size());
  boolean fbi = false;
  for (int i = 0; i < expressions.size(); i++) {
    Expression ex = expressions.get(i);
    if (ex instanceof ElementSymbol) {
       columnNames.add(((ElementSymbol)ex).getName());
       nonColumnExpressions.add(Boolean.FALSE);
    } else {
      columnNames.add(ex.toString());
      nonColumnExpressions.add(Boolean.TRUE);
      fbi = true;
    }
  }
  return factory.addFunctionBasedIndex(name != null?name:(SQLConstants.NonReserved.INDEX+(fbi?table.getFunctionBasedIndexes().size():table.getIndexes().size())), columnNames, nonColumnExpressions, table);
}

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

public Collection<KeyRecord> getAllKeys() { 
  Collection<KeyRecord> keys = new LinkedList<KeyRecord>();
  if (getPrimaryKey() != null) {
    keys.add(getPrimaryKey());
  }
  keys.addAll(getForeignKeys());
  keys.addAll(getAccessPatterns());
  keys.addAll(getIndexes());
  keys.addAll(getUniqueKeys());
  return keys;
}

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

public Collection<KeyRecord> getUniqueKeysInGroup(final Object groupID)
  throws TeiidComponentException, QueryMetadataException {
  Table tableRecordImpl = (Table)groupID;
  ArrayList<KeyRecord> result = new ArrayList<KeyRecord>(tableRecordImpl.getUniqueKeys());
  if (tableRecordImpl.getPrimaryKey() != null) {
    result.add(tableRecordImpl.getPrimaryKey());
  }
  for (KeyRecord key : tableRecordImpl.getIndexes()) {
    if (key.getType() == KeyRecord.Type.Unique) {
      result.add(key);
    }
  }
  return result;
}

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

public Collection<KeyRecord> getUniqueKeysInGroup(final Object groupID)
  throws TeiidComponentException, QueryMetadataException {
  Table tableRecordImpl = (Table)groupID;
  ArrayList<KeyRecord> result = new ArrayList<KeyRecord>(tableRecordImpl.getUniqueKeys());
  if (tableRecordImpl.getPrimaryKey() != null) {
    result.add(tableRecordImpl.getPrimaryKey());
  }
  for (KeyRecord key : tableRecordImpl.getIndexes()) {
    if (key.getType() == KeyRecord.Type.Unique) {
      result.add(key);
    }
  }
  return result;
}

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

public Collection<KeyRecord> getUniqueKeysInGroup(final Object groupID)
  throws TeiidComponentException, QueryMetadataException {
  Table tableRecordImpl = (Table)groupID;
  ArrayList<KeyRecord> result = new ArrayList<KeyRecord>(tableRecordImpl.getUniqueKeys());
  if (tableRecordImpl.getPrimaryKey() != null) {
    result.add(tableRecordImpl.getPrimaryKey());
  }
  for (KeyRecord key : tableRecordImpl.getIndexes()) {
    if (key.getType() == KeyRecord.Type.Unique) {
      result.add(key);
    }
  }
  return result;
}

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

/**
 * Adds an index to the given table.
 * @param name
 * @param nonUnique true indicates that an index is being added.
 * @param columnNames
 * @param table
 * @return
 * @throws MetadataException
 */
public KeyRecord addIndex(String name, boolean nonUnique, List<String> columnNames, Table table) {
  KeyRecord index = new KeyRecord(nonUnique?KeyRecord.Type.Index:KeyRecord.Type.Unique);
  index.setParent(table);
  index.setColumns(new ArrayList<Column>(columnNames.size()));
  index.setName(name);
  assignColumns(columnNames, table, index);
  setUUID(index);
  if (nonUnique) {
    table.getIndexes().add(index);
  }
  else {
    table.getUniqueKeys().add(index);
  }
  return index;
}

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

table.getIndexes().add(index);
} else {
  table.getFunctionBasedIndexes().add(index);

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

break;
case Index:
  group.getIndexes().add(key);
  break;
case Unique:

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

final public void inlineConstraint(MetadataFactory factory, Table table, List<String> columnName) throws ParseException {
 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 case PRIMARY:
  jj_consume_token(PRIMARY);
  jj_consume_token(KEY);
   if (table.getPrimaryKey() != null) {
     {if (true) throw new MetadataException(QueryPlugin.Util.getString("SQLParser.pk_exists", table.getName()));}
   }
   factory.addPrimaryKey("PK", columnName, table);
  break;
 case UNIQUE:
  jj_consume_token(UNIQUE);
   factory.addIndex("UNIQUE"+table.getUniqueKeys().size(), false, columnName, table);
  break;
 case INDEX:
  jj_consume_token(INDEX);
   factory.addIndex("INDEX"+table.getIndexes().size(), true, columnName, table);
  break;
 default:
  jj_la1[439] = jj_gen;
  jj_consume_token(-1);
  throw new ParseException();
 }
}

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

final public void inlineConstraint(MetadataFactory factory, Table table, List<String> columnName) throws ParseException {
 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 case PRIMARY:
  jj_consume_token(PRIMARY);
  jj_consume_token(KEY);
   if (table.getPrimaryKey() != null) {
     {if (true) throw new MetadataException(QueryPlugin.Util.getString("SQLParser.pk_exists", table.getName()));}
   }
   factory.addPrimaryKey("PK", columnName, table);
  break;
 case UNIQUE:
  jj_consume_token(UNIQUE);
   factory.addIndex("UNIQUE"+table.getUniqueKeys().size(), false, columnName, table);
  break;
 case INDEX:
  jj_consume_token(INDEX);
   factory.addIndex("INDEX"+table.getIndexes().size(), true, columnName, table);
  break;
 default:
  jj_la1[439] = jj_gen;
  jj_consume_token(-1);
  throw new ParseException();
 }
}

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

@Test
public void testConstraints() throws Exception {
  String ddl = "CREATE FOREIGN TABLE G1( e1 integer, e2 varchar, e3 date, " +
      " PRIMARY KEY (e1, e2), INDEX(e2, e3), ACCESSPATTERN(e1), UNIQUE(e1)," +
      " ACCESSPATTERN(e2, e3))";
  Schema s = helpParse(ddl, "model").getSchema();
  Map<String, Table> tableMap = s.getTables();    
  
  assertTrue("Table not found", tableMap.containsKey("G1"));
  Table table = tableMap.get("G1");
  
  assertEquals(table.getColumns().subList(0, 2), table.getPrimaryKey().getColumns());
  assertEquals(table.getColumns().subList(1, 3), table.getIndexes().get(0).getColumns());
  assertEquals(table.getColumns().subList(0, 1), table.getUniqueKeys().get(0).getColumns());
  assertEquals(2, table.getAccessPatterns().size());
  assertEquals(table.getColumns().subList(0, 1), table.getAccessPatterns().get(0).getColumns());
  assertEquals(table.getColumns().subList(1, 3), table.getAccessPatterns().get(1).getColumns());
}

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

private DBCollection getCollection(Table table) {
  DBCollection collection;
  if (!this.mongoDB.collectionExists(table.getName())) {
    collection = this.mongoDB.createCollection(table.getName(), null);
    // since this is the first time creating the tables; create the indexes on the collection
    // index on foreign keys
    for (ForeignKey record:table.getForeignKeys()) {
      createIndex(collection, record, false);
    }
    // index on unique
    for (KeyRecord record:table.getUniqueKeys()) {
      createIndex(collection, record, true);
    }
    // index on index keys
    for (KeyRecord record:table.getIndexes()) {
      createIndex(collection, record, false);
    }
  }
  else {
    collection = this.mongoDB.getCollection(table.getName());
  }
  return collection;
}

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

private void buildContraints(Table table) {
  addConstraints(table.getAccessPatterns(), "AP", ACCESSPATTERN); //$NON-NLS-1$
  
  KeyRecord pk = table.getPrimaryKey();
  if (pk != null) {
    addConstraint("PK", PRIMARY_KEY, pk, true); //$NON-NLS-1$
  }
  addConstraints(table.getUniqueKeys(), UNIQUE, UNIQUE);
  addConstraints(table.getIndexes(), INDEX, INDEX);
  addConstraints(table.getFunctionBasedIndexes(), INDEX, INDEX);
  for (int i = 0; i < table.getForeignKeys().size(); i++) {
    ForeignKey key = table.getForeignKeys().get(i);
    addConstraint("FK" + i, FOREIGN_KEY, key, false); //$NON-NLS-1$
    append(SPACE).append(REFERENCES);
    if (key.getReferenceKey() != null) {
      if (key.getReferenceKey().getParent().getParent().equals(key.getParent().getParent())) {
        append(SPACE).append(new GroupSymbol(key.getReferenceKey().getParent().getName()));
      } else {
        append(SPACE).append(new GroupSymbol(key.getReferenceKey().getParent().getFullName()));
      }
    } else if (key.getReferenceTableName() != null) {
      append(SPACE).append(new GroupSymbol(key.getReferenceTableName()));
    }
    append(SPACE);
    addNames(key.getReferenceColumns());
    appendOptions(key);
  }
}

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

private void buildContraints(Table table) {
  addConstraints(table.getAccessPatterns(), "AP", ACCESSPATTERN); //$NON-NLS-1$
  
  KeyRecord pk = table.getPrimaryKey();
  if (pk != null) {
    addConstraint("PK", PRIMARY_KEY, pk, true); //$NON-NLS-1$
  }
  addConstraints(table.getUniqueKeys(), UNIQUE, UNIQUE);
  addConstraints(table.getIndexes(), INDEX, INDEX);
  addConstraints(table.getFunctionBasedIndexes(), INDEX, INDEX);
  for (int i = 0; i < table.getForeignKeys().size(); i++) {
    ForeignKey key = table.getForeignKeys().get(i);
    addConstraint("FK" + i, FOREIGN_KEY, key, false); //$NON-NLS-1$
    append(SPACE).append(REFERENCES);
    if (key.getReferenceKey() != null) {
      if (key.getReferenceKey().getParent().getParent().equals(key.getParent().getParent())) {
        append(SPACE).append(new GroupSymbol(key.getReferenceKey().getParent().getName()));
      } else {
        append(SPACE).append(new GroupSymbol(key.getReferenceKey().getParent().getFullName()));
      }
    } else if (key.getReferenceTableName() != null) {
      append(SPACE).append(new GroupSymbol(key.getReferenceTableName()));
    }
    append(SPACE);
    addNames(key.getReferenceColumns());
    appendOptions(key);
  }
}

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

private void buildContraints(Table table) {
  addConstraints(table.getAccessPatterns(), "AP", ACCESSPATTERN); //$NON-NLS-1$
  
  KeyRecord pk = table.getPrimaryKey();
  if (pk != null) {
    addConstraint("PK", PRIMARY_KEY, pk, true); //$NON-NLS-1$
  }
  addConstraints(table.getUniqueKeys(), UNIQUE, UNIQUE);
  addConstraints(table.getIndexes(), INDEX, INDEX);
  addConstraints(table.getFunctionBasedIndexes(), INDEX, INDEX);
  for (int i = 0; i < table.getForeignKeys().size(); i++) {
    ForeignKey key = table.getForeignKeys().get(i);
    addConstraint("FK" + i, FOREIGN_KEY, key, false); //$NON-NLS-1$
    append(SPACE).append(REFERENCES);
    if (key.getReferenceKey() != null) {
      if (key.getReferenceKey().getParent().getParent().equals(key.getParent().getParent())) {
        append(SPACE).append(new GroupSymbol(key.getReferenceKey().getParent().getName()));
      } else {
        append(SPACE).append(new GroupSymbol(key.getReferenceKey().getParent().getFullName()));
      }
    } else if (key.getReferenceTableName() != null) {
      append(SPACE).append(new GroupSymbol(key.getReferenceTableName()));
    }
    append(SPACE);
    addNames(key.getReferenceColumns());
    appendOptions(key);
  }
}

相关文章

微信公众号

最新文章

更多