Package org.rocksdb

Examples of org.rocksdb.WriteBatch


            new Tuple<>("k2".getBytes(), "v22".getBytes())));
        testEvents.add(new Tuple<>(Action.DELETE,
            new Tuple<byte[], byte[]>("k3".getBytes(), null)));

        // load test data to the write batch
        final WriteBatch batch = new WriteBatch();
        for(final Tuple<Action, Tuple<byte[], byte[]>> testEvent : testEvents) {
            final Tuple<byte[], byte[]> data = testEvent.value;
            switch(testEvent.key) {

                case PUT:
                    batch.put(data.key, data.value);
                    break;

                case MERGE:
                    batch.merge(data.key, data.value);
                    break;

                case DELETE:
                    batch.remove(data.key);
                    break;

                case LOG:
                    batch.putLogData(data.value);
                    break;
            }
        }

        // attempt to read test data back from the WriteBatch by iterating with a handler
        final CapturingWriteBatchHandler handler = new CapturingWriteBatchHandler();
        batch.iterate(handler);

        // compare the results to the test data
        final List<Tuple<Action, Tuple<byte[], byte[]>>> actualEvents = handler.getEvents();
        assertThat(testEvents.size()).isSameAs(actualEvents.size());
View Full Code Here


  @Rule
  public TemporaryFolder dbFolder = new TemporaryFolder();

  @Test
  public void emptyWriteBatch() {
    WriteBatch batch = new WriteBatch();
    assertThat(batch.count()).isEqualTo(0);
  }
View Full Code Here

  }

  @Test
  public void multipleBatchOperations()
      throws UnsupportedEncodingException {
    WriteBatch batch =  new WriteBatch();
    batch.put("foo".getBytes("US-ASCII"), "bar".getBytes("US-ASCII"));
    batch.remove("box".getBytes("US-ASCII"));
    batch.put("baz".getBytes("US-ASCII"), "boo".getBytes("US-ASCII"));
    WriteBatchInternal.setSequence(batch, 100);
    assertThat(WriteBatchInternal.sequence(batch)).
        isNotNull().
        isEqualTo(100);
    assertThat(batch.count()).isEqualTo(3);
    assertThat(new String(getContents(batch), "US-ASCII")).
        isEqualTo("Put(baz, boo)@102" +
                  "Delete(box)@101" +
                  "Put(foo, bar)@100");
  }
View Full Code Here

  }

  @Test
  public void testAppendOperation()
      throws UnsupportedEncodingException {
    WriteBatch b1 = new WriteBatch();
    WriteBatch b2 = new WriteBatch();
    WriteBatchInternal.setSequence(b1, 200);
    WriteBatchInternal.setSequence(b2, 300);
    WriteBatchInternal.append(b1, b2);
    assertThat(getContents(b1).length).isEqualTo(0);
    assertThat(b1.count()).isEqualTo(0);
    b2.put("a".getBytes("US-ASCII"), "va".getBytes("US-ASCII"));
    WriteBatchInternal.append(b1, b2);
    assertThat("Put(a, va)@200".equals(new String(getContents(b1), "US-ASCII")));
    assertThat(b1.count()).isEqualTo(1);
    b2.clear();
    b2.put("b".getBytes("US-ASCII"), "vb".getBytes("US-ASCII"));
    WriteBatchInternal.append(b1, b2);
    assertThat(("Put(a, va)@200" +
            "Put(b, vb)@201")
                .equals(new String(getContents(b1), "US-ASCII")));
    assertThat(b1.count()).isEqualTo(2);
    b2.remove("foo".getBytes("US-ASCII"));
    WriteBatchInternal.append(b1, b2);
    assertThat(("Put(a, va)@200" +
        "Put(b, vb)@202" +
        "Put(b, vb)@201" +
        "Delete(foo)@203")
View Full Code Here

  }

  @Test
  public void blobOperation()
      throws UnsupportedEncodingException {
    WriteBatch batch = new WriteBatch();
    batch.put("k1".getBytes("US-ASCII"), "v1".getBytes("US-ASCII"));
    batch.put("k2".getBytes("US-ASCII"), "v2".getBytes("US-ASCII"));
    batch.put("k3".getBytes("US-ASCII"), "v3".getBytes("US-ASCII"));
    batch.putLogData("blob1".getBytes("US-ASCII"));
    batch.remove("k2".getBytes("US-ASCII"));
    batch.putLogData("blob2".getBytes("US-ASCII"));
    batch.merge("foo".getBytes("US-ASCII"), "bar".getBytes("US-ASCII"));
    assertThat(batch.count()).isEqualTo(5);
    assertThat(("Merge(foo, bar)@4" +
            "Put(k1, v1)@0" +
            "Delete(k2)@3" +
            "Put(k2, v2)@1" +
            "Put(k3, v3)@2")
View Full Code Here

TOP

Related Classes of org.rocksdb.WriteBatch

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.