ITS#9037 mdb_page_search: fix error code when DBI record is missing

Use the more relevant MDB_BAD_DBI instead of MDB_NOTFOUND error code
This commit is contained in:
Howard Chu 2024-03-26 14:50:17 +00:00
parent b8e54b4c31
commit 8645e92b93

View File

@ -6670,7 +6670,7 @@ mdb_page_search(MDB_cursor *mc, MDB_val *key, int flags)
MDB_node *leaf = mdb_node_search(&mc2,
&mc->mc_dbx->md_name, &exact);
if (!exact)
return MDB_NOTFOUND;
return MDB_BAD_DBI;
if ((leaf->mn_flags & (F_DUPDATA|F_SUBDATA)) != F_SUBDATA)
return MDB_INCOMPATIBLE; /* not a named DB */
rc = mdb_node_read(&mc2, leaf, &data);