[teiid-commits] teiid SVN: r3900 - in branches/7.7.x/metadata/src: test/java/org/teiid/metadata/index and 1 other directories.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Tue Feb 28 00:06:12 EST 2012
Author: shawkins
Date: 2012-02-28 00:06:11 -0500 (Tue, 28 Feb 2012)
New Revision: 3900
Added:
branches/7.7.x/metadata/src/test/resources/ora.vdb
Modified:
branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
branches/7.7.x/metadata/src/test/java/org/teiid/metadata/index/TestMultipleModelIndexes.java
Log:
TEIID-1954 correcting associating index records from index metadata
Modified: branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
===================================================================
--- branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java 2012-02-28 05:01:51 UTC (rev 3899)
+++ branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java 2012-02-28 05:06:11 UTC (rev 3900)
@@ -376,8 +376,11 @@
loadColumnSetRecords(columnSetRecordImpl, uuidColumnMap);
columnSetRecordImpl.setParent(tableRecord);
}
- tableRecord.setIndexes(getByParent(tableRecord.getUUID(), MetadataConstants.RECORD_TYPE.INDEX, KeyRecord.class, false));
- for (KeyRecord columnSetRecordImpl : tableRecord.getIndexes()) {
+ List<KeyRecord> indexRecords = tableRecord.getIndexes();
+ for (int i = 0; i < indexRecords.size(); i++) {
+ indexRecords.set(i, (KeyRecord) getRecordByType(indexRecords.get(i).getUUID(), MetadataConstants.RECORD_TYPE.INDEX));
+ }
+ for (KeyRecord columnSetRecordImpl : indexRecords) {
loadColumnSetRecords(columnSetRecordImpl, uuidColumnMap);
columnSetRecordImpl.setParent(tableRecord);
}
Modified: branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
===================================================================
--- branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2012-02-28 05:01:51 UTC (rev 3899)
+++ branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2012-02-28 05:06:11 UTC (rev 3900)
@@ -44,6 +44,7 @@
import org.teiid.metadata.BaseColumn.NullType;
import org.teiid.metadata.Column.SearchType;
import org.teiid.metadata.Datatype.Variety;
+import org.teiid.metadata.KeyRecord.Type;
/**
@@ -422,7 +423,16 @@
table.setPrimaryKey(pk);
}
- tokenIndex+=4; //skip reading uuids for associated records
+ List<String> indexes = getStrings(tokens.get(++tokenIndex), getListDelimiter(indexVersion));
+ if (!indexes.isEmpty()) {
+ table.setIndexes(new ArrayList<KeyRecord>(indexes.size()));
+ for (String string : indexes) {
+ KeyRecord index = new KeyRecord(Type.Index);
+ index.setUUID(string);
+ table.getIndexes().add(index);
+ }
+ }
+ tokenIndex+=3; //skip reading uuids for associated records
if(includeMaterializationFlag(indexVersion)) {
// The next token are the UUIDs for the materialized table ID
Modified: branches/7.7.x/metadata/src/test/java/org/teiid/metadata/index/TestMultipleModelIndexes.java
===================================================================
--- branches/7.7.x/metadata/src/test/java/org/teiid/metadata/index/TestMultipleModelIndexes.java 2012-02-28 05:01:51 UTC (rev 3899)
+++ branches/7.7.x/metadata/src/test/java/org/teiid/metadata/index/TestMultipleModelIndexes.java 2012-02-28 05:06:11 UTC (rev 3900)
@@ -59,6 +59,12 @@
assertNotNull(pk);
}
+ @Test public void testIndex() throws Exception {
+ TransformationMetadata tm = VDBMetadataFactory.getVDBMetadata(UnitTestUtil.getTestDataPath() + "/ora.vdb");
+ Collection indexes = tm.getIndexesInGroup(tm.getGroupID("ORACLE_BQT.SMALLA"));
+ assertEquals(1, indexes.size());
+ }
+
@Test public void testSchemaLoad() throws Exception {
TransformationMetadata tm = VDBMetadataFactory.getVDBMetadata(UnitTestUtil.getTestDataPath() + "/Test.vdb");
Added: branches/7.7.x/metadata/src/test/resources/ora.vdb
===================================================================
(Binary files differ)
Property changes on: branches/7.7.x/metadata/src/test/resources/ora.vdb
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
More information about the teiid-commits
mailing list