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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list