Nella documentazione Berkeley DB, si precisa che i motivi possono essere i seguenti:Come determinare il motivo esatto, perché berkeley db restituisce EINVAL su db-> open?
stato specificato un valore di flag non valido o parametro (per esempio, sconosciuto tipo di database, dimensioni della pagina, la funzione di hash, byte pad, ordine byte) o un valore flag o un parametro che non è compatibile con il database specificato. Il flag DB_THREAD è stato specificato e i mutex veloci non sono disponibili per questa architettura.
Il flag DB_THREAD è stato specificato in DB-> open, ma non è stato specificato nel DB_ENV-> open call per l'ambiente in cui è stato creato l'handle del DB.
Un file di testo piano di backup è stato specificato con il flag DB_THREAD o l'ambiente di database fornito supporta l'elaborazione delle transazioni.
L'unica bandiera che utilizzo è DB_CREATE, il tipo di database è DB_BTREE.
Voglio conoscere il motivo esatto che porta a EINVAL, ma non ho trovato alcuna configurazione di verbosità che potrebbe aiutarmi nella struttura "DB" (in DB_ENV, hanno il metodo set_verbose, ma non uso DB_ENV).