final String[] list = this.baseDir.list();
final String targetfilename = filename(name, keysize, payloadsize);
for (int i = 0; i < list.length; i++) {
if (list[i].startsWith(name)) {
if (!list[i].equals(targetfilename)) continue;
final Row row = rowdef(list[i]);
if (row.primaryKeyLength != keysize || row.column(1).cellwidth != payloadsize) continue; // a wrong table
Index table;
try {
table = new Table(new File(this.baseDir, list[i]), row, 1024*1024, 0, this.useTailCache, this.exceed134217727, true);
} catch (final RowSpaceExceededException e) {
table = new Table(new File(this.baseDir, list[i]), row, 0, 0, false, this.exceed134217727, true);
}
this.relations.put(name, table);
return;
}
}
// the relation does not exist, create it
final Row row = rowdef(keysize, payloadsize);
Index table;
try {
table = new Table(new File(this.baseDir, targetfilename), row, 1024*1024, 0, this.useTailCache, this.exceed134217727, true);
} catch (final RowSpaceExceededException e) {
table = new Table(new File(this.baseDir, targetfilename), row, 0, 0, false, this.exceed134217727, true);