// OpenDBForReadOnly opens a database with the specified options for readonly usage. func OpenDBForReadOnly(opts *Options, name string, errorIfLogFileExist bool) (*DB, error) { cName := C.CString(name) defer C.free(unsafe.Pointer(cName)) var cErr *C.char db := C.rocksdb_open_for_read_only(opts.c, cName, boolToChar(errorIfLogFileExist), &cErr) if cErr != nil { return nil, convertErr(cErr) } return &DB{c: db}, nil }
// Open opens a database. // // Creating a new database is done by calling SetCreateIfMissing(true) on the // Options passed to Open. // // It is usually wise to set a Cache object on the Options with SetCache to // keep recently used data from that database in memory. func OpenForRead(dbname string, if_log_exist_err bool, o *Options) (*DB, error) { var errStr *C.char ldbname := C.CString(dbname) defer C.free(unsafe.Pointer(ldbname)) i := boolToUchar(if_log_exist_err) rocksdb := C.rocksdb_open_for_read_only(o.Opt, ldbname, i, &errStr) if errStr != nil { gs := C.GoString(errStr) C.free(unsafe.Pointer(errStr)) return nil, DatabaseError(gs) } return &DB{rocksdb}, nil }
// OpenDbForReadOnly opens a database with the specified options for readonly usage. func OpenDbForReadOnly(opts *Options, name string, errorIfLogFileExist bool) (*DB, error) { var cErr *C.char cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) db := C.rocksdb_open_for_read_only(opts.c, cname, boolToChar(errorIfLogFileExist), &cErr) if cErr != nil { defer C.free(unsafe.Pointer(cErr)) return nil, errors.New(C.GoString(cErr)) } return &DB{ name: name, c: db, opts: opts, }, nil }