use of io.questdb.std.Rnd in project questdb by bluestreak01.
the class FirstTimestampGroupByFunctionFactoryTest method testNonNull.
@Test
public void testNonNull() throws SqlException {
compiler.compile("create table tab (f timestamp)", sqlExecutionContext);
final Rnd rnd = new Rnd();
try (TableWriter w = engine.getWriter(sqlExecutionContext.getCairoSecurityContext(), "tab", "testing")) {
for (int i = 100; i > 10; i--) {
TableWriter.Row r = w.newRow();
r.putLong(0, rnd.nextLong());
r.append();
}
w.commit();
}
try (RecordCursorFactory factory = compiler.compile("select first(f) from tab", sqlExecutionContext).getRecordCursorFactory()) {
try (RecordCursor cursor = factory.getCursor(sqlExecutionContext)) {
Record record = cursor.getRecord();
Assert.assertEquals(1, cursor.size());
Assert.assertTrue(cursor.hasNext());
Assert.assertEquals(4689592037643856L, record.getLong(0));
}
}
}
use of io.questdb.std.Rnd in project questdb by bluestreak01.
the class LongChainTest method testAll.
@Test
public void testAll() throws Exception {
TestUtils.assertMemoryLeak(() -> {
try (LongChain chain = new LongChain(1024 * 1024, Integer.MAX_VALUE)) {
final int N = 1000;
final int nChains = 10;
final Rnd rnd = new Rnd();
final LongList heads = new LongList(nChains);
final ObjList<LongList> expectedValues = new ObjList<>();
for (int i = 0; i < nChains; i++) {
LongList expected = new LongList(N);
heads.add(populateChain(chain, rnd, expected));
expectedValues.add(expected);
Assert.assertEquals(N, expected.size());
}
Assert.assertEquals(nChains, expectedValues.size());
// values are be in reverse order
for (int i = 0; i < nChains; i++) {
LongChain.TreeCursor cursor = chain.getCursor(heads.getQuick(i));
LongList expected = expectedValues.get(i);
int count = 0;
while (cursor.hasNext()) {
Assert.assertEquals(expected.getQuick(count), cursor.next());
count++;
}
Assert.assertEquals(N, count);
}
}
});
}
use of io.questdb.std.Rnd in project questdb by bluestreak01.
the class LastLongGroupByFunctionFactoryTest method testNonNull.
@Test
public void testNonNull() throws SqlException {
compiler.compile("create table tab (f long)", sqlExecutionContext);
final Rnd rnd = new Rnd();
try (TableWriter w = engine.getWriter(sqlExecutionContext.getCairoSecurityContext(), "tab", "testing")) {
for (int i = 100; i > 10; i--) {
TableWriter.Row r = w.newRow();
r.putLong(0, rnd.nextLong());
r.append();
}
w.commit();
}
try (RecordCursorFactory factory = compiler.compile("select last(f) from tab", sqlExecutionContext).getRecordCursorFactory()) {
try (RecordCursor cursor = factory.getCursor(sqlExecutionContext)) {
Record record = cursor.getRecord();
Assert.assertEquals(1, cursor.size());
Assert.assertTrue(cursor.hasNext());
Assert.assertEquals(-6919361415374675248L, record.getLong(0));
}
}
}
use of io.questdb.std.Rnd in project questdb by bluestreak01.
the class LastTimestampGroupByFunctionFactoryTest method testNonNull.
@Test
public void testNonNull() throws SqlException {
compiler.compile("create table tab (f timestamp)", sqlExecutionContext);
final Rnd rnd = new Rnd();
try (TableWriter w = engine.getWriter(sqlExecutionContext.getCairoSecurityContext(), "tab", "testing")) {
for (int i = 100; i > 10; i--) {
TableWriter.Row r = w.newRow();
r.putLong(0, rnd.nextLong());
r.append();
}
w.commit();
}
try (RecordCursorFactory factory = compiler.compile("select last(f) from tab", sqlExecutionContext).getRecordCursorFactory()) {
try (RecordCursor cursor = factory.getCursor(sqlExecutionContext)) {
Record record = cursor.getRecord();
Assert.assertEquals(1, cursor.size());
Assert.assertTrue(cursor.hasNext());
Assert.assertEquals(-6919361415374675248L, record.getTimestamp(0));
}
}
}
use of io.questdb.std.Rnd in project questdb by bluestreak01.
the class MaxDoubleGroupByFunctionFactoryTest method testFirstNull.
@Test
public void testFirstNull() throws SqlException {
compiler.compile("create table tab (f double)", sqlExecutionContext);
final Rnd rnd = new Rnd();
try (TableWriter w = engine.getWriter(sqlExecutionContext.getCairoSecurityContext(), "tab", "testing")) {
TableWriter.Row r = w.newRow();
r.append();
for (int i = 100; i > 10; i--) {
r = w.newRow();
r.putDouble(0, rnd.nextDouble());
r.append();
}
w.commit();
}
try (RecordCursorFactory factory = compiler.compile("select max(f) from tab", sqlExecutionContext).getRecordCursorFactory()) {
try (RecordCursor cursor = factory.getCursor(sqlExecutionContext)) {
Record record = cursor.getRecord();
Assert.assertEquals(1, cursor.size());
Assert.assertTrue(cursor.hasNext());
Assert.assertEquals(0.9856290845874263, record.getDouble(0), 0.0001);
}
}
}
Aggregations