for (int i = 0; i < ucount; i++) {
Unique unique = (Unique)uvector.elementAt(i);
UniqueValueStore valueStore = null;
int fcount = unique.getFieldCount();
for (int j = 0; j < fcount; j++) {
Field field = unique.getFieldAt(j);
if (valueStore == null) {
valueStore = (UniqueValueStore)fIdentityConstraint2ValueStoreMap.get(unique);
if (valueStore != null) {
// NOTE: If already initialized, don't need to
// do it again. -Ac
return;
}
valueStore = new UniqueValueStore(unique);
fValueStores.addElement(valueStore);
}
if (DEBUG_VALUE_STORES) {
System.out.println("<VS>: "+unique+" -> "+valueStore);
}
fIdentityConstraint2ValueStoreMap.put(unique, valueStore);
}
}
// initialize value stores for key fields
Vector kvector = edecl.key;
int kcount = kvector.size();
Hashtable keyHash = null;
if (kcount > 0) {
keyHash = new Hashtable(kcount);
for (int i = 0; i < kcount; i++) {
Key key = (Key)kvector.elementAt(i);
KeyValueStore valueStore = null;
int fcount = key.getFieldCount();
for (int j = 0; j < fcount; j++) {
Field field = key.getFieldAt(j);
if (valueStore == null) {
valueStore = new KeyValueStore(key);
fValueStores.addElement(valueStore);
keyHash.put(key.getIdentityConstraintName(), valueStore);
}
if (DEBUG_VALUE_STORES) {
System.out.println("<VS>: "+key+" -> "+valueStore);
}
fIdentityConstraint2ValueStoreMap.put(key, valueStore);
}
}
}
// initialize value stores for key reference fields
Vector krvector = edecl.keyRef;
int krcount = krvector.size();
for (int i = 0; i < krcount; i++) {
KeyRef keyRef = (KeyRef)krvector.elementAt(i);
KeyValueStore keyValueStore = (KeyValueStore)keyHash.get(keyRef.getReferName());
KeyRefValueStore keyRefValueStore = null;
int fcount = keyRef.getFieldCount();
for (int j = 0; j < fcount; j++) {
Field field = keyRef.getFieldAt(i);
if (keyRefValueStore == null) {
keyRefValueStore = new KeyRefValueStore(keyRef, keyValueStore);
fValueStores.addElement(keyRefValueStore);
}
if (DEBUG_VALUE_STORES) {