summaryrefslogtreecommitdiff
path: root/db-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'db-test.c')
-rw-r--r--db-test.c66
1 files changed, 0 insertions, 66 deletions
diff --git a/db-test.c b/db-test.c
deleted file mode 100644
index 2789ce0..0000000
--- a/db-test.c
+++ /dev/null
@@ -1,66 +0,0 @@
1#include <stdio.h>
2#include <stdio.h>
3#include <stdlib.h>
4#include <limits.h>
5
6#include <db.h>
7#include <fcntl.h>
8
9typedef struct {
10 char username[20];
11 char fullname[50];
12 int age;
13} user_type;
14
15int main(void)
16{
17 DB *db = dbopen("database.db", O_RDWR | O_CREAT, 0644, DB_BTREE, NULL);
18 if ( db != NULL ) {
19 fprintf(stderr, "Datenbank eröffnet...\n");
20
21#if INSERT
22 user_type users[] = {
23 { "datengott", "Thomas Schmucker", 44 },
24 { "user1", "Sabine Müller", 23 },
25 { "sql-user", "SQL Database User", -1 }
26 };
27
28 for ( int i = 0; i != 3; ++i ) {
29 DBT data = { .data = &users[i], .size = sizeof(users[i]) };
30 DBT key = { .data = &users[i].username, .size = sizeof(users[i].username) };
31
32 int res = db->put(db, &key, &data, 0);
33 if ( res == -1 ) {
34 fprintf(stderr, "failed to insert data!\n");
35 }
36 }
37#endif
38
39#if LOOKUP
40 {
41 DBT key = { .data = &users[0].username, .size = sizeof(users[0].username) };
42 DBT data;
43
44 int res = db->get(db, &key, &data, 0);
45 if ( res == 0 ) {
46 user_type *user = data.data;
47 printf("Fullname: %s, Age: %d\n", user->fullname, user->age);
48 }
49 }
50#endif
51
52 {
53 DBT key, data;
54 int err = db->seq(db, &key, &data, R_FIRST);
55 while ( !err ) {
56 user_type *user = data.data;
57 printf("Fullname: %s, Age: %d\n", user->fullname, user->age);
58
59 err = db->seq(db, &key, &data, R_NEXT);
60 }
61 }
62
63 db->close(db);
64 }
65 return EXIT_SUCCESS;
66}