Fix c_simple_example

main
Igor Canadi 10 years ago
parent 15d2abbec3
commit 402c1152a7
  1. 76
      examples/c_simple_example.c

@ -5,45 +5,47 @@
#include "rocksdb/c.h" #include "rocksdb/c.h"
#include <unistd.h> // sysconf() - get CPU count #include <unistd.h> // sysconf() - get CPU count
const char DBPath[] = "/tmp/rocksdb_simple_example"; const char DBPath[] = "/tmp/rocksdb_simple_example";
int main(int argc, char **argv) { int main(int argc, char **argv) {
rocksdb_t *db; rocksdb_t *db;
rocksdb_options_t *options = rocksdb_options_create(); rocksdb_options_t *options = rocksdb_options_create();
// Optimize RocksDB. This is the easiest way to // Optimize RocksDB. This is the easiest way to
// get RocksDB to perform well // get RocksDB to perform well
long cpus = sysconf(_SC_NPROCESSORS_ONLN); // get # of online cores long cpus = sysconf(_SC_NPROCESSORS_ONLN); // get # of online cores
rocksdb_options_increase_parallelism(options, (int)(cpus)); rocksdb_options_increase_parallelism(options, (int)(cpus));
rocksdb_options_optimize_level_style_compaction(options, 0); rocksdb_options_optimize_level_style_compaction(options, 0);
// create the DB if it's not already present // create the DB if it's not already present
rocksdb_options_set_create_if_missing(options, 1); rocksdb_options_set_create_if_missing(options, 1);
// open DB // open DB
char *err = NULL; char *err = NULL;
db = rocksdb_open(options, DBPath, &err); db = rocksdb_open(options, DBPath, &err);
assert(!err); assert(!err);
// Put key-value // Put key-value
rocksdb_writeoptions_t *writeoptions = rocksdb_writeoptions_create(); rocksdb_writeoptions_t *writeoptions = rocksdb_writeoptions_create();
const char key[] = "key"; const char key[] = "key";
const char *value = "value"; const char *value = "value";
rocksdb_put(db, writeoptions, key, strlen (key), value, \ rocksdb_put(db, writeoptions, key, strlen(key), value, strlen(value) + 1,
strlen (value) + 1, &err); &err);
assert(!err); assert(!err);
// Get value // Get value
rocksdb_readoptions_t *readoptions = rocksdb_readoptions_create(); rocksdb_readoptions_t *readoptions = rocksdb_readoptions_create();
size_t len; size_t len;
value = rocksdb_get(db, readoptions, key, strlen (key), &len, &err); char *returned_value =
assert(!err); rocksdb_get(db, readoptions, key, strlen(key), &len, &err);
assert(strcmp(value, "value") == 0); assert(!err);
assert(strcmp(returned_value, "value") == 0);
// cleanup free(returned_value);
rocksdb_writeoptions_destroy(writeoptions);
rocksdb_readoptions_destroy(readoptions); // cleanup
rocksdb_options_destroy(options); rocksdb_writeoptions_destroy(writeoptions);
rocksdb_close(db); rocksdb_readoptions_destroy(readoptions);
rocksdb_options_destroy(options);
return 0; rocksdb_close(db);
return 0;
} }

Loading…
Cancel
Save