📄 fileops.src
字号:
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2001-2002 * Sleepycat Software. All rights reserved. * * $Id: fileops.src,v 1.8 2002/04/06 18:25:55 bostic Exp $ */PREFIX __fopDBPRIVATEINCLUDE #include "db_config.h"INCLUDEINCLUDE #ifndef NO_SYSTEM_INCLUDESINCLUDE #include <sys/types.h>INCLUDEINCLUDE #include <ctype.h>INCLUDE #include <string.h>INCLUDE #endifINCLUDEINCLUDE #include "db_int.h"INCLUDE #include "dbinc/crypto.h"INCLUDE #include "dbinc/db_page.h"INCLUDE #include "dbinc/db_dispatch.h"INCLUDE #include "dbinc/db_am.h"INCLUDE #include "dbinc/log.h"INCLUDE #include "dbinc/rep.h"INCLUDE #include "dbinc/txn.h"INCLUDE #include "dbinc/fop.h"INCLUDE/* * create -- create a file system object. * * name: name in the file system * appname: indicates if the name needs to go through __db_appname * mode: file system mode */BEGIN create 143DBT name DBT sARG appname u_int32_t luARG mode u_int32_t oEND/* * remove -- remove a file system object. * * name: name in the file system * appname: indicates if the name needs to go through __db_appname */BEGIN remove 144DBT name DBT sDBT fid DBT sARG appname u_int32_t luEND/* * write: log the writing of data into an object. * * name: file containing the page. * appname: indicates if the name needs to go through __db_appname * offset: offset in the file. * page: the actual meta-data page. * flag: non-0 indicates that this is a tempfile, so we needn't undo * these modifications (we'll toss the file). */BEGIN write 145DBT name DBT sARG appname u_int32_t luARG offset u_int32_t luPGDBT page DBT sARG flag u_int32_t luEND/* * rename: move a file from one name to another. * The appname value indicates if this is a path name that should be used * directly (i.e., no interpretation) or if it is a pathname that should * be interpreted via calls to __db_appname. The fileid is the 20-byte * DB fileid of the file being renamed. We need to check it on recovery * so that we don't inadvertently overwrite good files. */BEGIN rename 146DBT oldname DBT sDBT newname DBT sDBT fileid DBT sARG appname u_int32_t luEND/* * File removal record. This is a DB-level log record that indicates * we've just completed some form of file removal. The purpose of this * log record is to logically identify the particular instance of the * named file so that during recovery, in deciding if we should roll-forward * a remove or a rename, we can make sure that we don't roll one forward and * delete or overwrite the wrong file. * real_fid: The 20-byte unique file identifier of the original file being * removed. * tmp_fid: The unique fid of the tmp file that is removed. * name: The pre- __db_appname name of the file * child: The transaction that removed or renamed the file. */ */BEGIN file_remove 141DBT real_fid DBT sDBT tmp_fid DBT sDBT name DBT sARG appname u_int32_t luARG child u_int32_t lxEND
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -