const char *sqlite3_filename_database(sqlite3_filename); const char *sqlite3_filename_journal(sqlite3_filename); const char *sqlite3_filename_wal(sqlite3_filename);
这些例程可供 自定义 VFS 实现 使用,用于在主数据库文件、日志文件和 WAL 文件之间翻译文件名。
如果 F 是 SQLite 核心传递到 VFS 中的 sqlite 数据库文件、日志文件或 WAL 文件的名称,则 sqlite3_filename_database(F) 返回相应数据库文件的名称。
如果 F 是 SQLite 核心传递到 VFS 中的 sqlite 数据库文件、日志文件或 WAL 文件的名称,或者 F 是从 sqlite3_db_filename() 获取的数据库文件名,则 sqlite3_filename_journal(F) 返回相应的回滚日志文件的名称。
如果 F 是 SQLite 核心传递到 VFS 中的 sqlite 数据库文件、日志文件或 WAL 文件的名称,或者 F 是从 sqlite3_db_filename() 获取的数据库文件名,则 sqlite3_filename_wal(F) 返回相应的 WAL 文件的名称。
在上述所有情况下,如果 F 不是从 SQLite 核心传递到 VFS 中的数据库、日志或 WAL 文件名,并且 F 不是从 sqlite3_db_filename() 返回的值,则结果是未定义的,并且很可能是内存访问冲突。