Shows some common cursor types and operations.
#include <test_util.h>
static const char *home;
int
{
const char *key, *value;
int ret;
while ((ret = cursor->
next(cursor)) == 0) {
error_check(cursor->
get_key(cursor, &key));
error_check(cursor->
get_value(cursor, &value));
}
return (0);
}
int
{
const char *key, *value;
int ret;
while ((ret = cursor->
prev(cursor)) == 0) {
error_check(cursor->
get_key(cursor, &key));
error_check(cursor->
get_value(cursor, &value));
}
return (0);
}
int
{
return (cursor->
reset(cursor));
}
int
{
const char *value;
error_check(cursor->
search(cursor));
error_check(cursor->
get_value(cursor, &value));
return (0);
}
int
{
const char *key, *value;
int exact;
switch (exact) {
case -1:
error_check(cursor->
get_key(cursor, &key));
break;
case 0:
break;
case 1:
error_check(cursor->
get_key(cursor, &key));
break;
}
error_check(cursor->
get_value(cursor, &value));
return (0);
}
int
{
return (cursor->
insert(cursor));
}
int
{
return (cursor->
update(cursor));
}
int
{
return (cursor->
remove(cursor));
}
int
main(int argc, char *argv[])
{
home = example_setup(argc, argv);
home, NULL, "create,statistics=(fast)", &conn));
error_check(conn->
open_session(conn, NULL, NULL, &session));
error_check(session->
create(session,
"table:world",
"key_format=r,value_format=5sii,"
"columns=(id,country,population,area)"));
session, "table:world", NULL, NULL, &cursor));
"table:world(country,population)", NULL, NULL, &cursor));
session, "statistics:", NULL, NULL, &cursor));
session, "table:map", "key_format=S,value_format=S"));
session, "table:map", NULL, NULL, &cursor));
error_check(cursor_insert(cursor));
error_check(cursor_reset(cursor));
error_check(cursor_forward_scan(cursor));
error_check(cursor_reset(cursor));
error_check(cursor_reverse_scan(cursor));
error_check(cursor_search_near(cursor));
error_check(cursor_update(cursor));
error_check(cursor_remove(cursor));
error_check(cursor->
close(cursor));
error_check(conn->
close(conn, NULL));
return (EXIT_SUCCESS);
}