2007-09-28 17:11:22 +00:00
|
|
|
#ifndef TOKULOGGGER_H
|
|
|
|
#define TOKULOGGGER_H
|
2007-11-29 14:18:54 +00:00
|
|
|
|
|
|
|
#ident "Copyright (c) 2007 Tokutek Inc. All rights reserved."
|
|
|
|
|
2007-10-15 03:32:32 +00:00
|
|
|
#include "../include/db.h"
|
|
|
|
#include "brttypes.h"
|
2007-09-28 17:11:22 +00:00
|
|
|
#include "kv-pair.h"
|
2008-01-08 22:18:42 +00:00
|
|
|
int toku_logger_create(TOKULOGGER */*resultp*/);
|
|
|
|
int toku_logger_open(const char */*directory*/, TOKULOGGER);
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_log_bytes(TOKULOGGER logger, int nbytes, void *bytes);
|
2008-01-08 22:18:42 +00:00
|
|
|
int toku_logger_close(TOKULOGGER *logger);
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_log_checkpoint (TOKULOGGER, LSN*);
|
2008-01-08 22:18:42 +00:00
|
|
|
void toku_logger_panic(TOKULOGGER, int/*err*/);
|
|
|
|
int toku_logger_panicked(TOKULOGGER /*logger*/);
|
2007-09-28 17:11:22 +00:00
|
|
|
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_log_phys_add_or_delete_in_leaf (DB *db, TOKUTXN txn, DISKOFF diskoff, int is_add, const struct kv_pair *pair);
|
2007-09-28 17:11:22 +00:00
|
|
|
|
2007-12-22 18:40:22 +00:00
|
|
|
int toku_logger_commit (TOKUTXN txn, int no_sync);
|
2007-09-28 17:11:22 +00:00
|
|
|
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_log_block_rename (TOKULOGGER /*logger*/, FILENUM /*fileid*/, DISKOFF /*olddiskoff*/, DISKOFF /*newdiskoff*/, DISKOFF /*parentdiskoff*/, int /*childnum*/);
|
2007-11-14 17:58:38 +00:00
|
|
|
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_txn_begin (TOKUTXN /*parent*/,TOKUTXN *, TXNID /*txnid64*/, TOKULOGGER /*logger*/);
|
2007-09-28 17:11:22 +00:00
|
|
|
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_log_fcreate (TOKUTXN, const char */*fname*/, int /*mode*/);
|
2007-11-18 12:48:36 +00:00
|
|
|
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_log_fopen (TOKUTXN, const char * /*fname*/, FILENUM);
|
2007-11-20 21:20:05 +00:00
|
|
|
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_log_unlink (TOKUTXN, const char */*fname*/);
|
2007-11-18 12:48:36 +00:00
|
|
|
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_log_header (TOKUTXN, FILENUM, struct brt_header *);
|
2007-11-21 13:07:49 +00:00
|
|
|
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_log_newbrtnode (TOKUTXN txn, FILENUM filenum, DISKOFF offset, u_int32_t height, u_int32_t nodesize, char is_dup_sort_mode, u_int32_t rand4fingerprint);
|
2007-11-21 19:06:32 +00:00
|
|
|
|
2007-11-29 18:14:40 +00:00
|
|
|
int toku_logger_fsync (TOKULOGGER logger);
|
2007-11-22 18:45:22 +00:00
|
|
|
|
2007-11-23 17:16:26 +00:00
|
|
|
int toku_fread_u_int8_t (FILE *f, u_int8_t *v, u_int32_t *crc, u_int32_t *len);
|
|
|
|
|
2007-11-22 18:45:22 +00:00
|
|
|
int toku_fread_u_int32_t_nocrclen (FILE *f, u_int32_t *v);
|
|
|
|
int toku_fread_u_int32_t (FILE *f, u_int32_t *v, u_int32_t *crc, u_int32_t *len);
|
|
|
|
int toku_fread_LSN (FILE *f, LSN *lsn, u_int32_t *crc, u_int32_t *len);
|
|
|
|
int toku_fread_FILENUM (FILE *f, FILENUM *filenum, u_int32_t *crc, u_int32_t *len);
|
|
|
|
int toku_fread_DISKOFF (FILE *f, DISKOFF *diskoff, u_int32_t *crc, u_int32_t *len);
|
|
|
|
int toku_fread_TXNID (FILE *f, TXNID *txnid, u_int32_t *crc, u_int32_t *len);
|
|
|
|
// fills in the bs with malloced data.
|
|
|
|
int toku_fread_BYTESTRING (FILE *f, BYTESTRING *bs, u_int32_t *crc, u_int32_t *len);
|
2007-11-22 21:11:21 +00:00
|
|
|
int toku_fread_LOGGEDBRTHEADER(FILE *f, LOGGEDBRTHEADER *v, u_int32_t *crc, u_int32_t *len);
|
2007-12-04 10:02:59 +00:00
|
|
|
int toku_fread_INTPAIRARRAY (FILE *f, INTPAIRARRAY *v, u_int32_t *crc, u_int32_t *len);
|
2007-11-22 21:11:21 +00:00
|
|
|
|
2007-11-27 10:48:31 +00:00
|
|
|
int toku_logprint_LSN (FILE *outf, FILE *inf, const char *fieldname, u_int32_t *crc, u_int32_t *len, const char *);
|
|
|
|
int toku_logprint_TXNID (FILE *outf, FILE *inf, const char *fieldname, u_int32_t *crc, u_int32_t *len, const char *);
|
|
|
|
int toku_logprint_BYTESTRING (FILE *outf, FILE *inf, const char *fieldname, u_int32_t *crc, u_int32_t *len, const char *);
|
|
|
|
int toku_logprint_FILENUM (FILE *outf, FILE *inf, const char *fieldname, u_int32_t *crc, u_int32_t *len, const char *);
|
|
|
|
int toku_logprint_DISKOFF (FILE *outf, FILE *inf, const char *fieldname, u_int32_t *crc, u_int32_t *len, const char *);
|
|
|
|
int toku_logprint_u_int8_t (FILE *outf, FILE *inf, const char *fieldname, u_int32_t *crc, u_int32_t *len, const char *);
|
|
|
|
int toku_logprint_u_int32_t (FILE *outf, FILE *inf, const char *fieldname, u_int32_t *crc, u_int32_t *len, const char *);
|
|
|
|
int toku_logprint_LOGGEDBRTHEADER (FILE *outf, FILE *inf, const char *fieldname, u_int32_t *crc, u_int32_t *len, const char *);
|
2007-12-04 10:02:59 +00:00
|
|
|
int toku_logprint_INTPAIRARRAY (FILE *outf, FILE *inf, const char *fieldname, u_int32_t *crc, u_int32_t *len, const char *);
|
2007-11-22 18:45:22 +00:00
|
|
|
|
2007-11-28 19:09:24 +00:00
|
|
|
int toku_read_and_print_logmagic (FILE *f, u_int32_t *version);
|
2007-11-23 18:27:50 +00:00
|
|
|
|
2007-11-24 03:50:28 +00:00
|
|
|
TXNID toku_txn_get_txnid (TOKUTXN);
|
|
|
|
LSN toku_txn_get_last_lsn (TOKUTXN);
|
|
|
|
|
2007-09-28 17:11:22 +00:00
|
|
|
#endif
|