You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
1.7 KiB
92 lines
1.7 KiB
/*-
|
|
* See the file LICENSE for redistribution information.
|
|
*
|
|
* Copyright (c) 1999
|
|
* Sleepycat Software. All rights reserved.
|
|
*
|
|
* @(#)qam.src 11.6 (Sleepycat) 10/1/99
|
|
*/
|
|
|
|
PREFIX qam
|
|
|
|
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 "db_page.h"
|
|
INCLUDE #include "db_dispatch.h"
|
|
INCLUDE #include "db_am.h"
|
|
INCLUDE #include "qam.h"
|
|
INCLUDE #include "txn.h"
|
|
INCLUDE
|
|
|
|
/*
|
|
* inc
|
|
* Used when we increment a record number. These do not actually
|
|
* tell you what record number you got, just that you incremented
|
|
* the record number. These operations are never undone.
|
|
*/
|
|
BEGIN inc
|
|
ARG fileid int32_t lu
|
|
POINTER lsn DB_LSN * lu
|
|
END
|
|
|
|
/*
|
|
* incfirst
|
|
* Used when we increment first_recno.
|
|
*/
|
|
BEGIN incfirst
|
|
ARG fileid int32_t lu
|
|
ARG recno db_recno_t lu
|
|
END
|
|
|
|
/*
|
|
* mvptr
|
|
* Used when we change one or both of cur_recno and first_recno.
|
|
*/
|
|
BEGIN mvptr
|
|
ARG opcode u_int32_t lu
|
|
ARG fileid int32_t lu
|
|
ARG old_first db_recno_t lu
|
|
ARG new_first db_recno_t lu
|
|
ARG old_cur db_recno_t lu
|
|
ARG new_cur db_recno_t lu
|
|
POINTER metalsn DB_LSN * lu
|
|
END
|
|
|
|
/*
|
|
* del
|
|
* Used when we delete a record.
|
|
* recno is the record that is being deleted.
|
|
*/
|
|
BEGIN del
|
|
ARG fileid int32_t lu
|
|
POINTER lsn DB_LSN * lu
|
|
ARG pgno db_pgno_t lu
|
|
ARG indx u_int32_t lu
|
|
ARG recno db_recno_t lu
|
|
END
|
|
|
|
/*
|
|
* add
|
|
* Used when we put a record on a page.
|
|
* recno is the record being added.
|
|
* data is the record itself.
|
|
*/
|
|
BEGIN add
|
|
ARG fileid int32_t lu
|
|
POINTER lsn DB_LSN * lu
|
|
ARG pgno db_pgno_t lu
|
|
ARG indx u_int32_t lu
|
|
ARG recno db_recno_t lu
|
|
DBT data DBT s
|
|
ARG vflag u_int32_t lu
|
|
DBT olddata DBT s
|
|
END
|