Changeset: 4d226d9faa46 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4d226d9faa46 Modified Files: sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql.mal sql/scripts/85_htm.sql sql/server/sql_mvc.c sql/server/sql_mvc.h sql/storage/sql_storage.h sql/storage/store.c Branch: HTM Log Message:
Added a function to retrieve garbage collect timestamp diffs (107 lines): diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -446,6 +446,13 @@ SQLhtmgarbagecollect(Client cntxt, MalBl } str +SQLgetHTMgarbagecollect(int *ret) +{ + *ret = mvc_get_htm_garbagecollect(); + return MAL_SUCCEED; +} + +str SQLshutdown_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { str msg; diff --git a/sql/backends/monet5/sql.h b/sql/backends/monet5/sql.h --- a/sql/backends/monet5/sql.h +++ b/sql/backends/monet5/sql.h @@ -74,6 +74,7 @@ sql5_export str SQLprecommit(Client cntx sql5_export str SQLpersistcommit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); sql5_export str SQLforcepersistcommit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); sql5_export str SQLhtmgarbagecollect(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); +sql5_export str SQLgetHTMgarbagecollect(int *ret); sql5_export str SQLshutdown_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); sql5_export str SQLtransaction2(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); sql5_export str SQLcatalog(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); diff --git a/sql/backends/monet5/sql.mal b/sql/backends/monet5/sql.mal --- a/sql/backends/monet5/sql.mal +++ b/sql/backends/monet5/sql.mal @@ -67,6 +67,9 @@ comment "Persists the per-committed chan pattern htmgarbagecollect(ts:int) :void address SQLhtmgarbagecollect comment "Set the maximal live time for the old WAL log files before they are garbagecollected"; +pattern gethtmgarbagecollect() :int +address SQLgetHTMgarbagecollect +comment "Get the maximal live time for the old WAL log files before they are garbagecollected"; pattern catalog(type:int,sname:str,name:str,action:int):void address SQLcatalog diff --git a/sql/scripts/85_htm.sql b/sql/scripts/85_htm.sql --- a/sql/scripts/85_htm.sql +++ b/sql/scripts/85_htm.sql @@ -15,3 +15,6 @@ CREATE PROCEDURE forcepersistcommit(id b CREATE PROCEDURE htmgarbagecollect(ts int) EXTERNAL name sql.htmgarbagecollect; + +CREATE FUNCTION gethtmgarbagecollect() RETURNS integer + EXTERNAL name sql.gethtmgarbagecollect; diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c --- a/sql/server/sql_mvc.c +++ b/sql/server/sql_mvc.c @@ -440,6 +440,13 @@ mvc_htm_garbagecollect(int ts) { } int +mvc_get_htm_garbagecollect(void) { + int ts=0; + sql_trans_get_htm_garbagecollect(&ts); + return ts; +} + +int mvc_abort(mvc *m) { sql_trans *tr = m->session->tr; diff --git a/sql/server/sql_mvc.h b/sql/server/sql_mvc.h --- a/sql/server/sql_mvc.h +++ b/sql/server/sql_mvc.h @@ -158,6 +158,7 @@ extern int mvc_precommit(mvc *m, int cha extern int mvc_persistcommit(mvc *m, int chain, const char *name, lng id); extern int mvc_force_persistcommit(lng id); extern int mvc_htm_garbagecollect(int ts); +extern int mvc_get_htm_garbagecollect(void); extern int mvc_abort(mvc *m); extern int mvc_rollback(mvc *c, int chain, const char *name); extern int mvc_release(mvc *c, const char *name); 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 @@ -341,6 +341,7 @@ extern int sql_trans_precommit(sql_trans extern int sql_trans_persistcommit(sql_trans *tr); extern int sql_trans_force_persistcommit(lng id); extern int sql_trans_htm_garbagecollect(int ts); +extern int sql_trans_get_htm_garbagecollect(int *ts); 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 @@ -3640,6 +3640,13 @@ sql_trans_htm_garbagecollect(int ts) } int +sql_trans_get_htm_garbagecollect(int *ts) +{ + *ts = keep_persisted_log_files; + return SQL_OK; +} + +int sql_trans_abort(sql_trans *tr) { int result = LOG_OK; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list