summaryrefslogtreecommitdiff
path: root/bdb/examples_cxx/AccessExample.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'bdb/examples_cxx/AccessExample.cpp')
-rw-r--r--bdb/examples_cxx/AccessExample.cpp136
1 files changed, 0 insertions, 136 deletions
diff --git a/bdb/examples_cxx/AccessExample.cpp b/bdb/examples_cxx/AccessExample.cpp
deleted file mode 100644
index 921463b3a54..00000000000
--- a/bdb/examples_cxx/AccessExample.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997-2002
- * Sleepycat Software. All rights reserved.
- *
- * $Id: AccessExample.cpp,v 11.18 2002/01/23 15:33:20 bostic Exp $
- */
-
-#include <sys/types.h>
-
-#include <iostream>
-#include <iomanip>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <db_cxx.h>
-
-using std::cin;
-using std::cout;
-using std::cerr;
-
-class AccessExample
-{
-public:
- AccessExample();
- void run();
-
-private:
- static const char FileName[];
-
- // no need for copy and assignment
- AccessExample(const AccessExample &);
- void operator = (const AccessExample &);
-};
-
-int main()
-{
- // Use a try block just to report any errors.
- // An alternate approach to using exceptions is to
- // use error models (see DbEnv::set_error_model()) so
- // that error codes are returned for all Berkeley DB methods.
- //
- try {
- AccessExample app;
- app.run();
- return (EXIT_SUCCESS);
- }
- catch (DbException &dbe) {
- cerr << "AccessExample: " << dbe.what() << "\n";
- return (EXIT_FAILURE);
- }
-}
-
-const char AccessExample::FileName[] = "access.db";
-
-AccessExample::AccessExample()
-{
-}
-
-void AccessExample::run()
-{
- // Remove the previous database.
- (void)remove(FileName);
-
- // Create the database object.
- // There is no environment for this simple example.
- Db db(0, 0);
-
- db.set_error_stream(&cerr);
- db.set_errpfx("AccessExample");
- db.set_pagesize(1024); /* Page size: 1K. */
- db.set_cachesize(0, 32 * 1024, 0);
- db.open(NULL, FileName, NULL, DB_BTREE, DB_CREATE, 0664);
-
- //
- // Insert records into the database, where the key is the user
- // input and the data is the user input in reverse order.
- //
- char buf[1024];
- char rbuf[1024];
- char *t;
- char *p;
- int ret;
- int len;
-
- for (;;) {
- cout << "input> ";
- cout.flush();
-
- cin.getline(buf, sizeof(buf));
- if (cin.eof())
- break;
-
- if ((len = strlen(buf)) <= 0)
- continue;
- for (t = rbuf, p = buf + (len - 1); p >= buf;)
- *t++ = *p--;
- *t++ = '\0';
-
- Dbt key(buf, len + 1);
- Dbt data(rbuf, len + 1);
-
- ret = db.put(0, &key, &data, DB_NOOVERWRITE);
- if (ret == DB_KEYEXIST) {
- cout << "Key " << buf << " already exists.\n";
- }
- }
- cout << "\n";
-
- // We put a try block around this section of code
- // to ensure that our database is properly closed
- // in the event of an error.
- //
- try {
- // Acquire a cursor for the table.
- Dbc *dbcp;
- db.cursor(NULL, &dbcp, 0);
-
- // Walk through the table, printing the key/data pairs.
- Dbt key;
- Dbt data;
- while (dbcp->get(&key, &data, DB_NEXT) == 0) {
- char *key_string = (char *)key.get_data();
- char *data_string = (char *)data.get_data();
- cout << key_string << " : " << data_string << "\n";
- }
- dbcp->close();
- }
- catch (DbException &dbe) {
- cerr << "AccessExample: " << dbe.what() << "\n";
- }
-
- db.close(0);
-}