Search in sources :

Example 1 with VariableColumnDeltaConsumer

use of com.questdb.net.ha.comsumer.VariableColumnDeltaConsumer in project questdb by bluestreak01.

the class VariableColumnTest method testEmptyConsumerAndPopulatedProducer.

@Test
public void testEmptyConsumerAndPopulatedProducer() throws Exception {
    VariableColumn col1 = new VariableColumn(file, indexFile);
    VariableColumn col2 = new VariableColumn(file2, indexFile2);
    ChannelConsumer consumer = new VariableColumnDeltaConsumer(col2);
    VariableColumnDeltaProducer producer = new VariableColumnDeltaProducer(col1);
    int max = 150000;
    for (int i = 0; i < max; i++) {
        col1.putStr("test123" + (max - i));
        col1.commit();
    }
    producer.configure(col2.size(), col1.size());
    Assert.assertTrue(producer.hasContent());
    producer.write(channel);
    consumer.read(channel);
    col2.commit();
    Assert.assertEquals(col1.size(), col2.size());
    for (int i = 0; i < max; i++) {
        Assert.assertEquals("test123" + (max - i), col2.getStr(i));
    }
}
Also used : VariableColumnDeltaProducer(com.questdb.net.ha.producer.VariableColumnDeltaProducer) VariableColumnDeltaConsumer(com.questdb.net.ha.comsumer.VariableColumnDeltaConsumer) VariableColumn(com.questdb.store.VariableColumn)

Example 2 with VariableColumnDeltaConsumer

use of com.questdb.net.ha.comsumer.VariableColumnDeltaConsumer in project questdb by bluestreak01.

the class VariableColumnTest method testConsumerReset.

@Test
public void testConsumerReset() throws Exception {
    VariableColumn col1 = new VariableColumn(file, indexFile);
    VariableColumn col2 = new VariableColumn(file2, indexFile2);
    ChannelConsumer consumer = new VariableColumnDeltaConsumer(col2);
    VariableColumnDeltaProducer producer = new VariableColumnDeltaProducer(col1);
    int max = 150000;
    for (int i = 0; i < max; i++) {
        col1.putStr("test123" + (max - i));
        col1.commit();
    }
    for (int i = 0; i < max - 50000; i++) {
        col2.putStr("test123" + (max - i));
        col2.commit();
    }
    producer.configure(col2.size(), col1.size());
    Assert.assertTrue(producer.hasContent());
    producer.write(channel);
    consumer.read(channel);
    col2.commit();
    Assert.assertEquals(col1.size(), col2.size());
    for (int i = 0; i < 1000; i++) {
        col1.putStr("test123" + (max + 1000 - i));
        col1.commit();
    }
    producer.configure(col2.size(), col1.size());
    Assert.assertTrue(producer.hasContent());
    producer.write(channel);
    consumer.read(channel);
    col2.commit();
    Assert.assertEquals(col1.size(), col2.size());
    for (int i = 0; i < max; i++) {
        Assert.assertEquals("test123" + (max - i), col2.getStr(i));
    }
    for (int i = 0; i < 1000; i++) {
        Assert.assertEquals("test123" + (max + 1000 - i), col2.getStr(i + max));
    }
}
Also used : VariableColumnDeltaProducer(com.questdb.net.ha.producer.VariableColumnDeltaProducer) VariableColumnDeltaConsumer(com.questdb.net.ha.comsumer.VariableColumnDeltaConsumer) VariableColumn(com.questdb.store.VariableColumn)

Example 3 with VariableColumnDeltaConsumer

use of com.questdb.net.ha.comsumer.VariableColumnDeltaConsumer in project questdb by bluestreak01.

the class VariableColumnTest method testConsumerSmallerThanProducer.

@Test
public void testConsumerSmallerThanProducer() throws Exception {
    VariableColumn col1 = new VariableColumn(file, indexFile);
    VariableColumn col2 = new VariableColumn(file2, indexFile2);
    ChannelConsumer consumer = new VariableColumnDeltaConsumer(col2);
    VariableColumnDeltaProducer producer = new VariableColumnDeltaProducer(col1);
    int max = 150000;
    for (int i = 0; i < max; i++) {
        col1.putStr("test123" + (max - i));
        col1.commit();
    }
    for (int i = 0; i < max - 50000; i++) {
        col2.putStr("test123" + (max - i));
        col2.commit();
    }
    producer.configure(col2.size(), col1.size());
    Assert.assertTrue(producer.hasContent());
    producer.write(channel);
    consumer.read(channel);
    col2.commit();
    Assert.assertEquals(col1.size(), col2.size());
    for (int i = 0; i < max; i++) {
        Assert.assertEquals("test123" + (max - i), col2.getStr(i));
    }
}
Also used : VariableColumnDeltaProducer(com.questdb.net.ha.producer.VariableColumnDeltaProducer) VariableColumnDeltaConsumer(com.questdb.net.ha.comsumer.VariableColumnDeltaConsumer) VariableColumn(com.questdb.store.VariableColumn)

Example 4 with VariableColumnDeltaConsumer

use of com.questdb.net.ha.comsumer.VariableColumnDeltaConsumer in project questdb by bluestreak01.

the class VariableColumnTest method testNulls.

@Test
public void testNulls() throws Exception {
    VariableColumn col1 = new VariableColumn(file, indexFile);
    VariableColumn col2 = new VariableColumn(file2, indexFile2);
    ChannelConsumer consumer = new VariableColumnDeltaConsumer(col2);
    VariableColumnDeltaProducer producer = new VariableColumnDeltaProducer(col1);
    col1.putNull();
    col1.commit();
    producer.configure(col2.size(), col1.size());
    Assert.assertTrue(producer.hasContent());
    producer.write(channel);
    consumer.read(channel);
    col2.commit();
    Assert.assertEquals(1, col1.size());
    Assert.assertEquals(1, col2.size());
}
Also used : VariableColumnDeltaProducer(com.questdb.net.ha.producer.VariableColumnDeltaProducer) VariableColumnDeltaConsumer(com.questdb.net.ha.comsumer.VariableColumnDeltaConsumer) VariableColumn(com.questdb.store.VariableColumn)

Aggregations

VariableColumnDeltaConsumer (com.questdb.net.ha.comsumer.VariableColumnDeltaConsumer)4 VariableColumnDeltaProducer (com.questdb.net.ha.producer.VariableColumnDeltaProducer)4 VariableColumn (com.questdb.store.VariableColumn)4