if (rc == MDB_KEYEXIST && putflags)
continue;
if (rc) {
- fprintf(stderr, "mdb_cursor_put failed, error %d %s\n", rc, mdb_strerror(rc));
+ fprintf(stderr, "%s: line %"Yu": mdb_cursor_put failed, error %d %s\n", prog, lineno, rc, mdb_strerror(rc));
goto txn_abort;
}
batch++;
fprintf(stderr, "mdb_cursor_open failed, error %d %s\n", rc, mdb_strerror(rc));
goto txn_abort;
}
- if (appflag & MDB_APPENDDUP) {
+ if (append) {
MDB_val k, d;
mdb_cursor_get(mc, &k, &d, MDB_LAST);
+ memcpy(prevk.mv_data, k.mv_data, k.mv_size);
+ prevk.mv_size = k.mv_size;
}
batch = 0;
}