All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.rocksdb.ColumnFamilyHandle Maven / Gradle / Ivy

Go to download

RocksDB fat jar to use with Apache Flink that contains .so files for linux32 and linux64, jnilib files for Mac OSX, and a .dll for Windows x64.

There is a newer version: 5.17.2-artisans-2.0
Show newest version
// Copyright (c) 2011-present, Facebook, Inc.  All rights reserved.
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree. An additional grant
// of patent rights can be found in the PATENTS file in the same directory.

package org.rocksdb;

/**
 * ColumnFamilyHandle class to hold handles to underlying rocksdb
 * ColumnFamily Pointers.
 */
public class ColumnFamilyHandle extends RocksObject {
  ColumnFamilyHandle(final RocksDB rocksDB,
      final long nativeHandle) {
    super(nativeHandle);
    // rocksDB must point to a valid RocksDB instance;
    assert(rocksDB != null);
    // ColumnFamilyHandle must hold a reference to the related RocksDB instance
    // to guarantee that while a GC cycle starts ColumnFamilyHandle instances
    // are freed prior to RocksDB instances.
    this.rocksDB_ = rocksDB;
  }

  /**
   * 

Deletes underlying C++ iterator pointer.

* *

Note: the underlying handle can only be safely deleted if the RocksDB * instance related to a certain ColumnFamilyHandle is still valid and * initialized. Therefore {@code disposeInternal()} checks if the RocksDB is * initialized before freeing the native handle.

*/ @Override protected void disposeInternal() { if(rocksDB_.isOwningHandle()) { disposeInternal(nativeHandle_); } } @Override protected final native void disposeInternal(final long handle); private final RocksDB rocksDB_; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy