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
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to