Changeset: 47ce789c46c9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=47ce789c46c9
Modified Files:
monetdb5/modules/mal/wlc.c
sql/backends/monet5/wlr.c
sql/test/wlcr/Tests/wlr100.stable.err
sql/test/wlcr/Tests/wlr35.stable.err
sql/test/wlcr/Tests/wlr35.stable.out
sql/test/wlcr/Tests/wlr70.stable.err
sql/test/wlcr/Tests/wlr70.stable.out
Branch: gdk_tracer
Log Message:
Store and retrieve wlcr transactions using gmtime.
diffs (176 lines):
diff --git a/monetdb5/modules/mal/wlc.c b/monetdb5/modules/mal/wlc.c
--- a/monetdb5/modules/mal/wlc.c
+++ b/monetdb5/modules/mal/wlc.c
@@ -530,9 +530,9 @@ WLCsettime(Client cntxt, InstrPtr pci, I
throw(MAL, fcn, "Unable to retrieve current time");
clk = clock.tv_sec;
#ifdef HAVE_LOCALTIME_R
- (void) localtime_r(&clk, &ctm);
+ (void) gmtime_r(&clk, &ctm);
#else
- ctm = *localtime(&clk);
+ ctm = gmtime(&clk);
#endif
strftime(wlc_time, sizeof(wlc_time), "%Y-%m-%d %H:%M:%S.000",&ctm);
if (pushStr(cntxt->wlc, p, wlc_time) == NULL)
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
@@ -99,7 +99,7 @@ WLRgetConfig(void){
if( strncmp("beat=", line, 5) == 0)
wlr_beat = atoi(line+ 5);
else
- if( strncmp("time=", line, 5) == 0)
+ if( strncmp("read=", line, 5) == 0)
strcpy(wlr_read, line + 5);
else
if( strncmp("error=", line, 6) == 0) {
@@ -139,7 +139,7 @@ WLRputConfig(void){
mnstr_printf(fd,"tag="LLFMT"\n", wlr_tag);
mnstr_printf(fd,"beat=%d\n", wlr_beat);
if( wlr_timelimit[0])
- mnstr_printf(fd,"time=%s\n", wlr_read);
+ mnstr_printf(fd,"read=%s\n", wlr_read);
if( wlr_error[0])
mnstr_printf(fd,"error=%s", wlr_error);
close_stream(fd);
@@ -498,8 +498,8 @@ WLRmaster(Client cntxt, MalBlkPtr mb, Ma
str
WLRreplicate(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
-{ str timelimit = wlr_timelimit;
- //size_t size = sizeof(wlr_timelimit);
+{ str timelimit = wlr_timelimit, slimit= 0;
+ size_t size = 0;
lng limit = INT64_MAX;
str msg;
@@ -516,8 +516,9 @@ WLRreplicate(Client cntxt, MalBlkPtr mb,
wlr_limit = INT64_MAX;
else
if( getArgType(mb, pci, 1) == TYPE_timestamp){
- /* CHECK */
- strftime(timelimit, sizeof(timelimit), "%Y-%m-%d %H:%M:%S.000",
(void*) getArgReference(stk, pci, 1));
+ timestamp_tostr(&slimit, &size, (timestamp*)
getArgReference(stk, pci, 1), TRUE);
+ strncpy(wlr_timelimit, slimit, sizeof(wlr_timelimit));
+ GDKfree(slimit);
} else
if( getArgType(mb, pci, 1) == TYPE_bte)
limit = getVarConstant(mb,getArg(pci,1)).val.btval;
@@ -533,8 +534,11 @@ WLRreplicate(Client cntxt, MalBlkPtr mb,
if ( limit < 0 && timelimit[0] == 0)
throw(MAL, "sql.replicate", "Stop tag limit should be positive
or timestamp should be set");
- if( wlc_tag == 0)
- throw(MAL, "sql.replicate", "Perhaps a missing wlr.master()
call. ");
+ if( wlc_tag == 0) {
+ WLRgetMaster();
+ if( wlc_tag == 0)
+ throw(MAL, "sql.replicate", "Perhaps a missing
wlr.master() call. ");
+ }
if (limit < INT64_MAX && limit >= wlc_tag)
throw(MAL, "sql.replicate", "Stop tag limit "LLFMT" be less
than wlc_tag "LLFMT, limit, wlc_tag);
if ( limit >= 0)
diff --git a/sql/test/wlcr/Tests/wlr100.stable.err
b/sql/test/wlcr/Tests/wlr100.stable.err
--- a/sql/test/wlcr/Tests/wlr100.stable.err
+++ b/sql/test/wlcr/Tests/wlr100.stable.err
@@ -17,13 +17,9 @@ stderr of test 'wlr100` in directory 'sq
# builtin opt sql_debug = 0
# cmdline opt gdk_nr_threads = 0
# cmdline opt mapi_open = true
-# cmdline opt mapi_port = 34573
-# cmdline opt mapi_usock = /var/tmp/mtest-22411/.s.monetdb.34573
-# cmdline opt gdk_dbpath =
/export/scratch1/mk/branches/wlcr//Linux/var/MonetDB/mTests_sql_test_wlcrclone
-#client1:!ERROR:SQLException:wlr.startreplicate:42000!Timeout to wait for
replicator to catch up.Catched up until 8, 9223372036854775799 pending
-MAPI = (monetdb) /var/tmp/mtest-22885/.s.monetdb.44647
-QUERY = call wlr.replicate();
-ERROR = !Perhaps a missing wlr.master() call.
+# cmdline opt mapi_port = 50243
+# cmdline opt mapi_usock = /var/tmp/mtest-4492/.s.monetdb.50243
+# cmdline opt gdk_dbpath =
/export/scratch1/mk/branches/tracer//Linux/var/MonetDB/mTests_sql_test_wlcrclone
# 21:26:05 >
# 21:26:05 > "Done."
diff --git a/sql/test/wlcr/Tests/wlr35.stable.err
b/sql/test/wlcr/Tests/wlr35.stable.err
--- a/sql/test/wlcr/Tests/wlr35.stable.err
+++ b/sql/test/wlcr/Tests/wlr35.stable.err
@@ -18,9 +18,6 @@ stderr of test 'wlr35` in directory 'sql
# cmdline opt mapi_port = 34591
# cmdline opt mapi_usock = /var/tmp/mtest-16185/.s.monetdb.34591
# cmdline opt gdk_dbpath =
/export/scratch1/mk/branches/tracer//Linux/var/MonetDB/mTests_sql_test_wlcrclone
-MAPI = (monetdb) /var/tmp/mtest-16185/.s.monetdb.34591
-QUERY = call wlr.replicate(9);
-ERROR = !Perhaps a missing wlr.master() call.
diff --git a/sql/test/wlcr/Tests/wlr35.stable.out
b/sql/test/wlcr/Tests/wlr35.stable.out
--- a/sql/test/wlcr/Tests/wlr35.stable.out
+++ b/sql/test/wlcr/Tests/wlr35.stable.out
@@ -22,9 +22,6 @@ stdout of test 'wlr35` in directory 'sql
% i, s # name
% int, clob # type
% 1, 4 # length
-[ 3, "blah" ]
-[ 2, "blah" ]
-[ 3, "blah" ]
[ 4, "blah" ]
[ 5, "blah" ]
[ 6, "blah" ]
diff --git a/sql/test/wlcr/Tests/wlr70.stable.err
b/sql/test/wlcr/Tests/wlr70.stable.err
--- a/sql/test/wlcr/Tests/wlr70.stable.err
+++ b/sql/test/wlcr/Tests/wlr70.stable.err
@@ -17,15 +17,9 @@ stderr of test 'wlr70` in directory 'sql
# builtin opt sql_debug = 0
# cmdline opt gdk_nr_threads = 0
# cmdline opt mapi_open = true
-# cmdline opt mapi_port = 32871
-# cmdline opt mapi_usock = /var/tmp/mtest-22885/.s.monetdb.32871
-# cmdline opt gdk_dbpath =
/export/scratch1/mk/branches/wlcr//Linux/var/MonetDB/mTests_sql_test_wlcrclone
-#time limit 2019-10-04 20:55:58.392
-#client1:!ERROR:SQLException:wlr.startreplicate:42000!Timeout to wait for
replicator to catch up.Catched up until 8, 9223372036854775799 pending
-MAPI = (monetdb) /var/tmp/mtest-22885/.s.monetdb.32871
-QUERY = call wlr.replicate(now());
-ERROR = !Timeout to wait for replicator to catch up.Catched up until 8,
9223372036854775799 pending
-CODE = 42000
+# cmdline opt mapi_port = 33421
+# cmdline opt mapi_usock = /var/tmp/mtest-4492/.s.monetdb.33421
+# cmdline opt gdk_dbpath =
/export/scratch1/mk/branches/tracer//Linux/var/MonetDB/mTests_sql_test_wlcrclone
# 13:16:48 >
# 13:16:48 > "Done."
diff --git a/sql/test/wlcr/Tests/wlr70.stable.out
b/sql/test/wlcr/Tests/wlr70.stable.out
--- a/sql/test/wlcr/Tests/wlr70.stable.out
+++ b/sql/test/wlcr/Tests/wlr70.stable.out
@@ -17,23 +17,16 @@ stdout of test 'wlr70` in directory 'sql
# Listening for UNIX domain connection requests on
mapi:monetdb:///var/tmp/mtest-22068/.s.monetdb.52305
# MonetDB/GIS module loaded
# MonetDB/SQL module loaded
-#select * from tmp;
-% sys.tmp, sys.tmp # table_name
+#select * from tmp70;
+% sys.tmp70, sys.tmp70 # table_name
% i, s # name
% int, clob # type
-% 1, 4 # length
-[ 3, "blah" ]
-[ 2, "blah" ]
-[ 3, "blah" ]
-[ 4, "blah" ]
-[ 5, "blah" ]
-[ 6, "blah" ]
-#LISTING OF THE LOG FILES
-#/ufs/sjoerd/@Monet-testing/var/MonetDB/mTests_sql_test_wlcr/wlc.config
-#logs=/ufs/sjoerd/@Monet-testing/var/MonetDB/mTests_sql_test_wlcr/wlc_logs/
-#tag=13
-#write=2019-10-07T10:19:41.000
-#state=1
+% 1, 5 # length
+[ 1, "hello" ]
+[ 2, "world" ]
+#LISTING OF THE WLR LOG FILE
+#/export/scratch1/mk/branches/tracer//Linux/var/MonetDB/mTests_sql_test_wlcrclone/wlr.config
+#master=mTests_sql_test_wlcr
#batches=13
#beat=0
#
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list