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

Reply via email to