+MPlist *
+mdatabase__load_for_keys (MDatabase *mdb, MPlist *keys)
+{
+ int mdebug_mask = MDEBUG_DATABASE;
+ FILE *fp;
+ MPlist *plist;
+ char buf[256];
+
+ if (mdb->loader != load_database
+ || mdb->tag[0] == Mchar_table
+ || mdb->tag[0] == Mcharset)
+ MERROR (MERROR_DB, NULL);
+ MDEBUG_PRINT1 (" [DATABASE] loading <%s>.\n",
+ gen_database_name (buf, mdb->tag));
+ fp = get_database_stream ((char *) mdb->extra_info);
+ if (! fp)
+ MERROR (MERROR_DB, NULL);
+ plist = mplist__from_file (fp, keys);
+ fclose (fp);
+ return plist;
+}
+
+