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

Reply via email to