They're meant to be read and studied, not run.
+++ /dev/null
-/* sample-bdb.c - BerkeleyDB toy/sample
- *
- * Do a line-by-line comparison of this and sample-mdb.c
- */
-/*
- * Copyright 2012 Howard Chu, Symas Corp.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted only as authorized by the OpenLDAP
- * Public License.
- *
- * A copy of this license is available in the file LICENSE in the
- * top-level directory of the distribution or, alternatively, at
- * <http://www.OpenLDAP.org/license.html>.
- */
-#include <stdio.h>
-#include <string.h>
-#include <db.h>
-
-int main(int argc,char * argv[])
-{
- int rc;
- DB_ENV *env;
- DB *dbi;
- DBT key, data;
- DB_TXN *txn;
- DBC *cursor;
- char sval[32], kval[32];
-
- /* Note: Most error checking omitted for simplicity */
-
-#define FLAGS (DB_INIT_LOCK|DB_INIT_LOG|DB_INIT_TXN|DB_INIT_MPOOL|DB_CREATE|DB_THREAD)
- rc = db_env_create(&env, 0);
- rc = env->open(env, "./testdb", FLAGS, 0664);
- rc = db_create(&dbi, env, 0);
- rc = env->txn_begin(env, NULL, &txn, 0);
- rc = dbi->open(dbi, txn, "test.bdb", NULL, DB_BTREE, DB_CREATE, 0664);
-
- memset(&key, 0, sizeof(DBT));
- memset(&data, 0, sizeof(DBT));
- key.size = sizeof(int);
- key.data = sval;
- data.size = sizeof(sval);
- data.data = sval;
-
- sprintf(sval, "%03x %d foo bar", 32, 3141592);
- rc = dbi->put(dbi, txn, &key, &data, 0);
- rc = txn->commit(txn, 0);
- if (rc) {
- fprintf(stderr, "txn->commit: (%d) %s\n", rc, db_strerror(rc));
- goto leave;
- }
- rc = env->txn_begin(env, NULL, &txn, 0);
- rc = dbi->cursor(dbi, txn, &cursor, 0);
- key.flags = DB_DBT_USERMEM;
- key.data = kval;
- key.ulen = sizeof(kval);
- data.flags = DB_DBT_USERMEM;
- data.data = sval;
- data.ulen = sizeof(sval);
- while ((rc = cursor->c_get(cursor, &key, &data, DB_NEXT)) == 0) {
- printf("key: %p %.*s, data: %p %.*s\n",
- key.data, (int) key.size, (char *) key.data,
- data.data, (int) data.size, (char *) data.data);
- }
- rc = cursor->c_close(cursor);
- rc = txn->abort(txn);
-leave:
- rc = dbi->close(dbi, 0);
- rc = env->close(env, 0);
- return rc;
-}
--- /dev/null
+/* sample-bdb.txt - BerkeleyDB toy/sample
+ *
+ * Do a line-by-line comparison of this and sample-mdb.txt
+ */
+/*
+ * Copyright 2012 Howard Chu, Symas Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <db.h>
+
+int main(int argc,char * argv[])
+{
+ int rc;
+ DB_ENV *env;
+ DB *dbi;
+ DBT key, data;
+ DB_TXN *txn;
+ DBC *cursor;
+ char sval[32], kval[32];
+
+ /* Note: Most error checking omitted for simplicity */
+
+#define FLAGS (DB_INIT_LOCK|DB_INIT_LOG|DB_INIT_TXN|DB_INIT_MPOOL|DB_CREATE|DB_THREAD)
+ rc = db_env_create(&env, 0);
+ rc = env->open(env, "./testdb", FLAGS, 0664);
+ rc = db_create(&dbi, env, 0);
+ rc = env->txn_begin(env, NULL, &txn, 0);
+ rc = dbi->open(dbi, txn, "test.bdb", NULL, DB_BTREE, DB_CREATE, 0664);
+
+ memset(&key, 0, sizeof(DBT));
+ memset(&data, 0, sizeof(DBT));
+ key.size = sizeof(int);
+ key.data = sval;
+ data.size = sizeof(sval);
+ data.data = sval;
+
+ sprintf(sval, "%03x %d foo bar", 32, 3141592);
+ rc = dbi->put(dbi, txn, &key, &data, 0);
+ rc = txn->commit(txn, 0);
+ if (rc) {
+ fprintf(stderr, "txn->commit: (%d) %s\n", rc, db_strerror(rc));
+ goto leave;
+ }
+ rc = env->txn_begin(env, NULL, &txn, 0);
+ rc = dbi->cursor(dbi, txn, &cursor, 0);
+ key.flags = DB_DBT_USERMEM;
+ key.data = kval;
+ key.ulen = sizeof(kval);
+ data.flags = DB_DBT_USERMEM;
+ data.data = sval;
+ data.ulen = sizeof(sval);
+ while ((rc = cursor->c_get(cursor, &key, &data, DB_NEXT)) == 0) {
+ printf("key: %p %.*s, data: %p %.*s\n",
+ key.data, (int) key.size, (char *) key.data,
+ data.data, (int) data.size, (char *) data.data);
+ }
+ rc = cursor->c_close(cursor);
+ rc = txn->abort(txn);
+leave:
+ rc = dbi->close(dbi, 0);
+ rc = env->close(env, 0);
+ return rc;
+}
+++ /dev/null
-/* sample-mdb.c - MDB toy/sample
- *
- * Do a line-by-line comparison of this and sample-bdb.c
- */
-/*
- * Copyright 2012 Howard Chu, Symas Corp.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted only as authorized by the OpenLDAP
- * Public License.
- *
- * A copy of this license is available in the file LICENSE in the
- * top-level directory of the distribution or, alternatively, at
- * <http://www.OpenLDAP.org/license.html>.
- */
-#include <stdio.h>
-#include "lmdb.h"
-
-int main(int argc,char * argv[])
-{
- int rc;
- MDB_env *env;
- MDB_dbi dbi;
- MDB_val key, data;
- MDB_txn *txn;
- MDB_cursor *cursor;
- char sval[32];
-
- /* Note: Most error checking omitted for simplicity */
-
- rc = mdb_env_create(&env);
- rc = mdb_env_open(env, "./testdb", 0, 0664);
- rc = mdb_txn_begin(env, NULL, 0, &txn);
- rc = mdb_open(txn, NULL, 0, &dbi);
-
- key.mv_size = sizeof(int);
- key.mv_data = sval;
- data.mv_size = sizeof(sval);
- data.mv_data = sval;
-
- sprintf(sval, "%03x %d foo bar", 32, 3141592);
- rc = mdb_put(txn, dbi, &key, &data, 0);
- rc = mdb_txn_commit(txn);
- if (rc) {
- fprintf(stderr, "mdb_txn_commit: (%d) %s\n", rc, mdb_strerror(rc));
- goto leave;
- }
- rc = mdb_txn_begin(env, NULL, MDB_RDONLY, &txn);
- rc = mdb_cursor_open(txn, dbi, &cursor);
- while ((rc = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) == 0) {
- printf("key: %p %.*s, data: %p %.*s\n",
- key.mv_data, (int) key.mv_size, (char *) key.mv_data,
- data.mv_data, (int) data.mv_size, (char *) data.mv_data);
- }
- mdb_cursor_close(cursor);
- mdb_txn_abort(txn);
-leave:
- mdb_close(env, dbi);
- mdb_env_close(env);
- return 0;
-}
--- /dev/null
+/* sample-mdb.txt - MDB toy/sample
+ *
+ * Do a line-by-line comparison of this and sample-bdb.txt
+ */
+/*
+ * Copyright 2012 Howard Chu, Symas Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+#include <stdio.h>
+#include "lmdb.h"
+
+int main(int argc,char * argv[])
+{
+ int rc;
+ MDB_env *env;
+ MDB_dbi dbi;
+ MDB_val key, data;
+ MDB_txn *txn;
+ MDB_cursor *cursor;
+ char sval[32];
+
+ /* Note: Most error checking omitted for simplicity */
+
+ rc = mdb_env_create(&env);
+ rc = mdb_env_open(env, "./testdb", 0, 0664);
+ rc = mdb_txn_begin(env, NULL, 0, &txn);
+ rc = mdb_open(txn, NULL, 0, &dbi);
+
+ key.mv_size = sizeof(int);
+ key.mv_data = sval;
+ data.mv_size = sizeof(sval);
+ data.mv_data = sval;
+
+ sprintf(sval, "%03x %d foo bar", 32, 3141592);
+ rc = mdb_put(txn, dbi, &key, &data, 0);
+ rc = mdb_txn_commit(txn);
+ if (rc) {
+ fprintf(stderr, "mdb_txn_commit: (%d) %s\n", rc, mdb_strerror(rc));
+ goto leave;
+ }
+ rc = mdb_txn_begin(env, NULL, MDB_RDONLY, &txn);
+ rc = mdb_cursor_open(txn, dbi, &cursor);
+ while ((rc = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) == 0) {
+ printf("key: %p %.*s, data: %p %.*s\n",
+ key.mv_data, (int) key.mv_size, (char *) key.mv_data,
+ data.mv_data, (int) data.mv_size, (char *) data.mv_data);
+ }
+ mdb_cursor_close(cursor);
+ mdb_txn_abort(txn);
+leave:
+ mdb_close(env, dbi);
+ mdb_env_close(env);
+ return 0;
+}