Lines Matching defs:mdb

60 struct	mdb {
126 struct mdb *, struct recs *);
127 static void index_prune(const struct of *, struct mdb *,
291 struct mdb mdb;
314 memset(&mdb, 0, sizeof(struct mdb));
405 index_merge(of, mp, &dbuf, &buf, hash, &mdb, &recs);
410 strlcat(mdb.dbn, dir, MAXPATHLEN);
411 strlcat(mdb.dbn, "/", MAXPATHLEN);
412 sz1 = strlcat(mdb.dbn, MANDOC_DB, MAXPATHLEN);
414 strlcat(mdb.idxn, dir, MAXPATHLEN);
415 strlcat(mdb.idxn, "/", MAXPATHLEN);
416 sz2 = strlcat(mdb.idxn, MANDOC_IDX, MAXPATHLEN);
423 mdb.db = dbopen(mdb.dbn, flags, 0644, DB_BTREE, &info);
424 mdb.idx = dbopen(mdb.idxn, flags, 0644, DB_RECNO, NULL);
426 if (NULL == mdb.db) {
427 perror(mdb.dbn);
429 } else if (NULL == mdb.idx) {
430 perror(mdb.idxn);
439 index_prune(of, &mdb, &recs);
453 &mdb, &recs);
479 mdb.idxn[0] = mdb.dbn[0] = '\0';
481 strlcat(mdb.dbn, dirs.paths[i], MAXPATHLEN);
482 strlcat(mdb.dbn, "/", MAXPATHLEN);
483 sz1 = strlcat(mdb.dbn, MANDOC_DB, MAXPATHLEN);
485 strlcat(mdb.idxn, dirs.paths[i], MAXPATHLEN);
486 strlcat(mdb.idxn, "/", MAXPATHLEN);
487 sz2 = strlcat(mdb.idxn, MANDOC_IDX, MAXPATHLEN);
495 if (mdb.db)
496 (*mdb.db->close)(mdb.db);
497 if (mdb.idx)
498 (*mdb.idx->close)(mdb.idx);
500 mdb.db = dbopen(mdb.dbn, flags, 0644, DB_BTREE, &info);
501 mdb.idx = dbopen(mdb.idxn, flags, 0644, DB_RECNO, NULL);
503 if (NULL == mdb.db) {
504 perror(mdb.dbn);
506 } else if (NULL == mdb.idx) {
507 perror(mdb.idxn);
534 index_merge(of, mp, &dbuf, &buf, hash, &mdb, &recs);
538 if (mdb.db)
539 (*mdb.db->close)(mdb.db);
540 if (mdb.idx)
541 (*mdb.idx->close)(mdb.idx);
568 struct mdb *mdb, struct recs *recs)
717 if (NULL == mdb->db || NULL == mdb->idx)
748 dbt_put(mdb->db, mdb->dbn, &key, &val);
772 dbt_put(mdb->idx, mdb->idxn, &key, &val);
783 index_prune(const struct of *ofile, struct mdb *mdb, struct recs *recs)
794 while (0 == (ch = (*mdb->idx->seq)(mdb->idx, &key, &val, seq))) {
833 while (0 == (ch = (*mdb->db->seq)(mdb->db,
843 if ((ch = (*mdb->db->del)(mdb->db,
849 perror(mdb->dbn);
853 mdb->dbn);
861 ch = (*mdb->idx->put)(mdb->idx, &key, &val, R_CURSOR);
877 perror(mdb->idxn);
880 fprintf(stderr, "%s: corrupt index\n", mdb->idxn);