Changeset: f77519bba74a for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f77519bba74a Modified Files: sql/storage/bat/bat_logger.c sql/storage/sql_storage.h sql/storage/store.c Branch: 2PC Log Message:
Add a wrapper for log_abort diffs (73 lines): diff --git a/sql/storage/bat/bat_logger.c b/sql/storage/bat/bat_logger.c --- a/sql/storage/bat/bat_logger.c +++ b/sql/storage/bat/bat_logger.c @@ -301,6 +301,12 @@ bl_persist_precommit(lng precommit_id) return log_persist_precommit(bat_logger, precommit_id); } +static int +bl_abort(void) +{ + return log_abort(bat_logger); +} + int bat_logger_init( logger_functions *lf ) { @@ -315,6 +321,7 @@ bat_logger_init( logger_functions *lf ) lf->log_tend = bl_tend; lf->log_sequence = bl_sequence; lf->log_persist_precommit = bl_persist_precommit; + lf->log_abort = bl_abort; return LOG_OK; } diff --git a/sql/storage/sql_storage.h b/sql/storage/sql_storage.h --- a/sql/storage/sql_storage.h +++ b/sql/storage/sql_storage.h @@ -283,6 +283,7 @@ typedef int (*log_tstart_fptr) (lng prec typedef int (*log_tend_fptr) (void); typedef int (*log_sequence_fptr) (int seq, lng id); typedef int (*log_persist_precommit_fptr) (lng precommit_id); +typedef int (*log_abort_fptr) (void); typedef struct logger_functions { logger_create_fptr create; @@ -303,6 +304,7 @@ typedef struct logger_functions { log_tend_fptr log_tend; log_sequence_fptr log_sequence; log_persist_precommit_fptr log_persist_precommit; + log_abort_fptr log_abort; } logger_functions; extern logger_functions logger_funcs; @@ -336,6 +338,7 @@ extern int sql_trans_validate(sql_trans extern int sql_trans_commit(sql_trans *tr); extern int sql_trans_precommit(sql_trans *tr); extern int sql_trans_persistcommit(sql_trans *tr); +extern int sql_trans_abort(sql_trans *tr); extern sql_type *sql_trans_create_type(sql_trans *tr, sql_schema * s, const char *sqlname, int digits, int scale, int radix, const char *impl); diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -3517,6 +3517,18 @@ sql_trans_persistcommit(sql_trans *tr) return (result==LOG_OK)?SQL_OK:SQL_ERR; } +int +sql_trans_abort(sql_trans *tr) +{ + int result = LOG_OK; + if (bs_debug) { + fprintf(stderr, "#writing changes to WAL %d,%d %d,%d\n", gtrans->stime, tr->stime, gtrans->wstime, tr->wstime); + } + result = logger_funcs.log_abort(); + + return (result==LOG_OK)?SQL_OK:SQL_ERR; +} + static void sql_trans_drop_all_dependencies(sql_trans *tr, sql_schema *s, int id, short type) { _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list