Date: Fri, 07 Aug 1998 13:38:55 -0400 From: Marc Tardif <intmktg@cam.org> To: freebsd-database@FreeBSD.ORG Subject: db(3) help Message-ID: <35CB3BAE.6C24C0FD@cam.org>
next in thread | raw e-mail | index | archive | help
Hi,
I'm struggling to understand the db(3) function. I am trying to create a
btree with a key and data, yet btreeop(1) only shows data for the
following program. I'd appreciate any help... really.
Marc
#include <sys/stat.h>
#include <db.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#define PERM_SECURE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
#define MAX 12
int
main()
{
        DB *db;
        DBT data, key;
        char buf[MAX + 1], keybuf[MAX + 1];
        char dbtmp[MAX + 1], dbname[MAX + 1];
        (void)snprintf(dbtmp, sizeof(dbtmp), "dev.tmp");
        (void)snprintf(dbname, sizeof(dbtmp), "dev.db");
        if(!(db = dbopen(dbtmp, O_CREAT|O_EXLOCK|O_RDWR|O_TRUNC,
            PERM_SECURE, DB_BTREE, NULL)))
                err(1, "%s", dbtmp);
        key.data = keybuf;
        (void)strcpy(keybuf, "key");
        keybuf[3] = '\0';
        data.data = buf;
        (void)strcpy(buf, "dat");
        buf[3] = '\0';
        printf("%s\n%s\n", keybuf, buf);
        key.size = 4;
        data.size = 4;
        if ((db->put)(db, &key, &data, 0))
                err(1, "dbput %s", dbtmp);
        (void)(db->close)(db);
        if (rename(dbtmp, dbname))
                err(1, "rename %s to %s", dbtmp, dbname);
        exit(0);
}
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-database" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35CB3BAE.6C24C0FD>
