本文整理了Java中org.teiid.metadata.Table.getIndexes()
方法的一些代码示例,展示了Table.getIndexes()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Table.getIndexes()
方法的具体详情如下:
包路径:org.teiid.metadata.Table
类名称: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);
}
}
内容来源于网络,如有侵权,请联系作者删除!