use of com.questdb.common.JournalRuntimeException in project questdb by bluestreak01.
the class ImportManager method importFile.
public static void importFile(Factory factory, String fileName, char delimiter, CharSequence schema, int sampleSize, boolean forceHeader) throws IOException {
BootstrapEnv env = new BootstrapEnv();
env.typeProbeCollection = new TypeProbeCollection();
env.configuration = new ServerConfiguration();
env.factory = factory;
try (PlainTextLexer parser = new PlainTextLexer(env).of(delimiter)) {
File file = new File(fileName);
String location = file.getName();
switch(factory.getConfiguration().exists(location)) {
case JournalConfiguration.EXISTS_FOREIGN:
throw new JournalRuntimeException("A foreign file/directory already exists: " + (new File(factory.getConfiguration().getJournalBase(), location)));
default:
try (PlainTextStoringParser l = new PlainTextStoringParser(env).of(location, false, false, PlainTextStoringParser.ATOMICITY_RELAXED)) {
analyzeAndParse(file, parser, l, schema, sampleSize, forceHeader);
}
break;
}
}
}
use of com.questdb.common.JournalRuntimeException in project questdb by bluestreak01.
the class JournalPartitionSource method next.
@Override
public PartitionSlice next() {
try {
slice.partition = journal.getPartition(partitionIndex++, open);
slice.lo = 0;
slice.calcHi = true;
return slice;
} catch (JournalException e) {
throw new JournalRuntimeException(e);
}
}
use of com.questdb.common.JournalRuntimeException in project questdb by bluestreak01.
the class KvIndexIntListHeadRowSource method prepareCursor.
@Override
public RowCursor prepareCursor(PartitionSlice slice) {
try {
Partition partition = rec.partition = slice.partition.open();
KVIndex index = partition.getIndexForColumn(columnIndex);
FixedColumn col = partition.fixCol(columnIndex);
long lo = slice.lo - 1;
long hi = slice.calcHi ? partition.size() : slice.hi + 1;
rows.clear();
for (int i = 0, n = values.size(); i < n; i++) {
IndexCursor c = index.cursor(values.get(i) & buckets);
long r = -1;
boolean found = false;
while (c.hasNext()) {
r = rec.rowid = c.next();
if (r > lo && r < hi && col.getInt(r) == values.get(i) && (filter == null || filter.getBool(rec))) {
found = true;
break;
}
}
if (found) {
rows.add(r);
}
}
rows.sort();
keyIndex = 0;
return this;
} catch (JournalException e) {
throw new JournalRuntimeException(e);
}
}
use of com.questdb.common.JournalRuntimeException in project questdb by bluestreak01.
the class KvIndexLongListHeadRowSource method prepareCursor.
@Override
public RowCursor prepareCursor(PartitionSlice slice) {
try {
Partition partition = rec.partition = slice.partition.open();
KVIndex index = partition.getIndexForColumn(columnIndex);
FixedColumn col = partition.fixCol(columnIndex);
long lo = slice.lo - 1;
long hi = slice.calcHi ? partition.size() : slice.hi + 1;
rows.clear();
for (int i = 0, n = values.size(); i < n; i++) {
IndexCursor c = index.cursor((int) (values.get(i) & buckets));
long r = -1;
boolean found = false;
while (c.hasNext()) {
r = rec.rowid = c.next();
if (r > lo && r < hi && col.getLong(r) == values.get(i) && (filter == null || filter.getBool(rec))) {
found = true;
break;
}
}
if (found) {
rows.add(r);
}
}
rows.sort();
keyIndex = 0;
return this;
} catch (JournalException e) {
throw new JournalRuntimeException(e);
}
}
use of com.questdb.common.JournalRuntimeException in project questdb by bluestreak01.
the class KvIndexLongLookupRowSource method prepareCursor.
@Override
public RowCursor prepareCursor(PartitionSlice slice) {
try {
column = slice.partition.fixCol(columnIndex);
KVIndex index = slice.partition.getIndexForColumn(columnIndex);
this.indexCursor = newCursor ? index.newFwdCursor(key) : index.fwdCursor(key);
this.lo = slice.lo - 1;
this.hi = slice.calcHi ? slice.partition.open().size() : slice.hi + 1;
} catch (JournalException e) {
throw new JournalRuntimeException(e);
}
return this;
}
Aggregations