Changeset: c0418591c8ad for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c0418591c8ad
Modified Files:
        sql/backends/monet5/wlr.c
        sql/backends/monet5/wlr.h
        sql/backends/monet5/wlr.mal
Branch: gdk_tracer
Log Message:

Added retrieval of the current master


diffs (79 lines):

diff --git a/sql/backends/monet5/wlr.c b/sql/backends/monet5/wlr.c
--- a/sql/backends/monet5/wlr.c
+++ b/sql/backends/monet5/wlr.c
@@ -489,7 +489,7 @@ WLRmaster(Client cntxt, MalBlkPtr mb, Ma
 
        len = snprintf(wlr_master, IDLENGTH, "%s", *getArgReference_str(stk, 
pci, 1));
        if (len == -1 || len >= IDLENGTH)
-               throw(MAL, "wlr.replicate", SQLSTATE(42000) "Input value is too 
large for wlr_master buffer");
+               throw(MAL, "wlr.master", SQLSTATE(42000) "Input value is too 
large for wlr_master buffer");
        WLRgetMaster();
        WLRgetConfig();
        WLRputConfig();
@@ -618,6 +618,23 @@ WLRstop(Client cntxt, MalBlkPtr mb, MalS
 }
 
 str
+WLRgetmaster(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
+       str *ret = getArgReference_str(stk,pci,0);
+       str msg = MAL_SUCCEED;
+
+       (void) cntxt;
+       (void) mb;
+
+       msg = WLRgetConfig();
+       if( wlr_master[0])
+               *ret= GDKstrdup(wlr_master);
+       else
+               throw(MAL, "wlr.getmaster", "Master not found");
+       return msg;
+}
+
+str
 WLRgetclock(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        str *ret = getArgReference_str(stk,pci,0);
@@ -633,7 +650,7 @@ WLRgetclock(Client cntxt, MalBlkPtr mb, 
                *ret= GDKstrdup(wlr_read);
        else *ret= GDKstrdup(str_nil);
        if (*ret == NULL)
-               throw(MAL, "wlr.getreplicaclock", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
+               throw(MAL, "wlr.getclock", SQLSTATE(HY013) MAL_MALLOC_FAIL);
        return msg;
 }
 
@@ -663,7 +680,7 @@ WLRsetbeat(Client cntxt, MalBlkPtr mb, M
        (void) mb;
        new = *getArgReference_int(stk,pci,1);
        if ( new < wlc_beat || new < 1)
-               throw(SQL,"replicatebeat",SQLSTATE(42000) "Cycle time should be 
larger then master or >= 1 second");
+               throw(SQL,"setbeat",SQLSTATE(42000) "Cycle time should be 
larger then master or >= 1 second");
        wlr_beat = new;
        return MAL_SUCCEED;
 }
diff --git a/sql/backends/monet5/wlr.h b/sql/backends/monet5/wlr.h
--- a/sql/backends/monet5/wlr.h
+++ b/sql/backends/monet5/wlr.h
@@ -19,6 +19,7 @@ sql5_export str WLRstart(Client cntxt, M
 sql5_export str WLRmaster(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 sql5_export str WLRstop(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 sql5_export str WLRreplicate(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str WLRgetmaster(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str WLRgetclock(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str WLRgettick(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 sql5_export str WLRsetbeat(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
diff --git a/sql/backends/monet5/wlr.mal b/sql/backends/monet5/wlr.mal
--- a/sql/backends/monet5/wlr.mal
+++ b/sql/backends/monet5/wlr.mal
@@ -42,6 +42,10 @@ pattern replicate(id:lng)
 address WLRreplicate
 comment "Roll the snapshot forward to a specific transaction id";
 
+pattern getMaster():str
+address WLRgetmaster
+comment "What is the current master database";
+
 pattern setbeat(dur:int)
 address WLRsetbeat
 comment "Threshold (in seconds) for re-running queries";
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to