class RocksDBSstStore extends RocksDBStore {

    public RocksDBSstStore(final BackendStoreProvider provider,
                           final String database, final String store) {
        super(provider, database, store);
    }

    @Override
    protected RocksDBSessions openSessionPool(HugeConfig config,
                                              String dataPath, String walPath,
                                              List<String> tableNames)
            throws RocksDBException {<FILL_FUNCTION_BODY>}

    /***************************** Store defines *****************************/

    public static class RocksDBSstGraphStore extends RocksDBSstStore {

        public RocksDBSstGraphStore(BackendStoreProvider provider,
                                    String database, String store) {
            super(provider, database, store);

            registerTableManager(HugeType.VERTEX, new RocksDBTables.Vertex(database));

            registerTableManager(HugeType.EDGE_OUT, RocksDBTables.Edge.out(database));
            registerTableManager(HugeType.EDGE_IN, RocksDBTables.Edge.in(database));

            registerTableManager(HugeType.SECONDARY_INDEX,
                                 new RocksDBTables.SecondaryIndex(database));
            registerTableManager(HugeType.VERTEX_LABEL_INDEX,
                                 new RocksDBTables.VertexLabelIndex(database));
            registerTableManager(HugeType.EDGE_LABEL_INDEX,
                                 new RocksDBTables.EdgeLabelIndex(database));
            registerTableManager(HugeType.RANGE_INT_INDEX,
                                 new RocksDBTables.RangeIntIndex(database));
            registerTableManager(HugeType.RANGE_FLOAT_INDEX,
                                 new RocksDBTables.RangeFloatIndex(database));
            registerTableManager(HugeType.RANGE_LONG_INDEX,
                                 new RocksDBTables.RangeLongIndex(database));
            registerTableManager(HugeType.RANGE_DOUBLE_INDEX,
                                 new RocksDBTables.RangeDoubleIndex(database));
            registerTableManager(HugeType.SEARCH_INDEX, new RocksDBTables.SearchIndex(database));
            registerTableManager(HugeType.SHARD_INDEX, new RocksDBTables.ShardIndex(database));
            registerTableManager(HugeType.UNIQUE_INDEX, new RocksDBTables.UniqueIndex(database));
        }

        @Override
        public boolean isSchemaStore() {
            return false;
        }

        @Override
        public Id nextId(HugeType type) {
            throw new UnsupportedOperationException("RocksDBSstGraphStore.nextId()");
        }

        @Override
        public void increaseCounter(HugeType type, long increment) {
            throw new UnsupportedOperationException("RocksDBSstGraphStore.increaseCounter()");
        }

        @Override
        public long getCounter(HugeType type) {
            throw new UnsupportedOperationException("RocksDBSstGraphStore.getCounter()");
        }
    }
}

        if (tableNames == null) {
            return new RocksDBSstSessions(config, this.database(), this.store(), dataPath);
        } else {
            return new RocksDBSstSessions(config, this.database(), this.store(),
                                          dataPath, tableNames);
        }
    
<methods>public void <init>(org.apache.hugegraph.backend.store.BackendStoreProvider, java.lang.String, java.lang.String) ,public void beginTx() ,public synchronized void clear(boolean) ,public void close() ,public void commitTx() ,public Map<java.lang.String,java.lang.String> createSnapshot(java.lang.String) ,public java.lang.String database() ,public org.apache.hugegraph.backend.store.BackendFeatures features() ,public synchronized void init() ,public boolean initialized() ,public void mutate(org.apache.hugegraph.backend.store.BackendMutation) ,public synchronized void open(HugeConfig) ,public boolean opened() ,public org.apache.hugegraph.backend.store.BackendStoreProvider provider() ,public Iterator<org.apache.hugegraph.backend.store.BackendEntry> query(org.apache.hugegraph.backend.query.Query) ,public java.lang.Number queryNumber(org.apache.hugegraph.backend.query.Query) ,public void resumeSnapshot(java.lang.String, boolean) ,public void rollbackTx() ,public java.lang.String store() ,public synchronized void truncate() <variables>private static final long DB_CLOSE_TIMEOUT,private static final java.lang.String DB_OPEN,private static final long DB_OPEN_TIMEOUT,private static final org.apache.hugegraph.backend.store.BackendFeatures FEATURES,private static final Logger LOG,private static final int OPEN_POOL_THREADS,private static final java.lang.String TABLE_GENERAL_KEY,private java.lang.String dataPath,private final non-sealed java.lang.String database,private final non-sealed ConcurrentMap<java.lang.String,org.apache.hugegraph.backend.store.rocksdb.RocksDBSessions> dbs,private boolean isGraphStore,private final non-sealed Map<java.lang.String,org.apache.hugegraph.backend.store.rocksdb.RocksDBTable> olapTables,private final non-sealed org.apache.hugegraph.backend.store.BackendStoreProvider provider,private org.apache.hugegraph.backend.store.rocksdb.RocksDBSessions sessions,private final non-sealed java.lang.String store,private final non-sealed java.util.concurrent.locks.ReadWriteLock storeLock,private final non-sealed Map<org.apache.hugegraph.type.HugeType,java.lang.String> tableDiskMapping,private final non-sealed Map<org.apache.hugegraph.type.HugeType,org.apache.hugegraph.backend.store.rocksdb.RocksDBTable> tables