mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			112 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*-
 | |
|  * 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	__fop
 | |
| DBPRIVATE
 | |
| 
 | |
| INCLUDE	#include "db_config.h"
 | |
| INCLUDE
 | |
| INCLUDE #ifndef NO_SYSTEM_INCLUDES
 | |
| INCLUDE #include <sys/types.h>
 | |
| INCLUDE
 | |
| INCLUDE #include <ctype.h>
 | |
| INCLUDE #include <string.h>
 | |
| INCLUDE #endif
 | |
| INCLUDE
 | |
| INCLUDE #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		143
 | |
| DBT	name		DBT		s
 | |
| ARG	appname		u_int32_t	lu
 | |
| ARG	mode		u_int32_t	o
 | |
| END
 | |
| 
 | |
| /*
 | |
|  * 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		144
 | |
| DBT	name		DBT		s
 | |
| DBT	fid		DBT		s
 | |
| ARG	appname		u_int32_t	lu
 | |
| END
 | |
| 
 | |
| /*
 | |
|  * 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	145
 | |
| DBT	name		DBT		s
 | |
| ARG	appname		u_int32_t	lu
 | |
| ARG	offset		u_int32_t	lu
 | |
| PGDBT	page		DBT		s
 | |
| ARG	flag		u_int32_t	lu
 | |
| END
 | |
| 
 | |
| /*
 | |
|  * 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	146
 | |
| DBT	oldname		DBT		s
 | |
| DBT	newname		DBT		s
 | |
| DBT	fileid		DBT		s
 | |
| ARG	appname		u_int32_t	lu
 | |
| END
 | |
| 
 | |
| /*
 | |
|  * 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	141
 | |
| DBT	real_fid	DBT	s
 | |
| DBT	tmp_fid		DBT	s
 | |
| DBT	name		DBT	s
 | |
| ARG	appname		u_int32_t	lu
 | |
| ARG	child		u_int32_t	lx
 | |
| END
 | 
