内存日志文件memjournal.c共有3个结构体,9个函数 各部分功能列表如下。
表5.1.2 memjournal.c 3个结构体功能列表
编号 | 结构体名称 | 功能 |
---|---|---|
1 | FileChunk | pNext指针链接各个节点构成的链表组成了回滚日志。 |
2 | FilePoint | 此结构体的变量回滚日志中的游标,可以用于读或写。 |
3 | MemJournal | 此结构体的变量是内存日志的主要内容。 |
表5.1.3 memjournal.c 9个函数功能列表
编号 | 函数名 | 功能 |
---|---|---|
1 | static int memjrnlRead(sqlite3_file pJfd, void zBuf, int iAmt, sqlite_int64 iOfst ) | 从内存DB事务中读取数据。参数:pjfd要读取的事务,zBuf将内容放入buf,iAmt要读的字节数,iOfst偏移量。 |
2 | static int memjrnlWrite(sqlite3_file pJfd, const void zBuf,int iAmt, sqlite_int64 iOfst) | 将数据写入文件。参数:pjfd要写入的事务,zBuf存储要写入的数据,iAmt要写入的字节数,iOfst偏移量 |
3 | static int memjrnlTruncate(sqlite3_file *pJfd, sqlite_int64 size) | 对事务文档进行截断。参数:pjfd要截断的事务,size要截文件的大小。 |
4 | static int memjrnlClose(sqlite3_file *pJfd) | 关闭事务。参数:pjfd要关闭的事务。 |
5 | static int memjrnlSync(sqlite3_file *NotUsed, int NotUsed2) | 同步文件。作为应急而存在的一个空操作 |
6 | static int memjrnlFileSize(sqlite3_file pJfd, sqlite_int64 pSize) | 参数:pjfd,pSize文件大小。查询文件的字节大小。 |
7 | void sqlite3MemJournalOpen(sqlite3_file *pJfd) | 打开事务。 |
8 | int sqlite3IsMemJournal(sqlite3_file *pJfd) | 存储事务。 |
9 | int sqlite3MemJournalSize(void) | 返回事务文件的字节大小。 |