Changeset: 8da58f3c3650 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8da58f3c3650
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
monetdb5/modules/mal/wlc.c
monetdb5/optimizer/opt_wlc.c
sql/backends/monet5/wlr.c
sql/backends/monet5/wlr.mal
sql/scripts/60_wlcr.sql
sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out
sql/test/Dump/Tests/dump.stable.out
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/systemfunctions.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
sql/test/leaks/Tests/check1.stable.out
sql/test/leaks/Tests/check1.stable.out.int128
sql/test/wlcr/Tests/wlc70.py
sql/test/wlcr/Tests/wlc70.stable.out
sql/test/wlcr/Tests/wlr70.py
Branch: wlcr
Log Message:
Fixing the temporal roll-forward of the wlcr
- also fix the optimizer to make sure the wlcr is used before the
garbagecollector correctly
diffs (truncated from 503 to 300 lines):
diff --git a/clients/Tests/MAL-signatures.stable.out
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -8769,6 +8769,7 @@ Ready.
[ "wlr", "replicate", "pattern wlr.replicate(dbname:str, id:lng):void
", "WLRreplicate;", "Roll the snapshot forward to a specific
transaction id" ]
[ "wlr", "replicate", "pattern wlr.replicate(dbname:str, id:sht):void
", "WLRreplicate;", "Roll the snapshot forward to a specific
transaction id" ]
[ "wlr", "replicate", "pattern wlr.replicate(dbname:str,
ts:timestamp):void ", "WLRreplicate;", "Roll the snapshot forward
to the time TS" ]
+[ "wlr", "replicate", "pattern wlr.replicate(ts:timestamp):void ",
"WLRreplicate;", "Roll the snapshot forward to an up-to-date clone"
]
[ "wlr", "revoke", "pattern wlr.revoke(sname:str, tbl:str,
grantee:str, privs:int, cname:str, grant:int, grantor:int):void ",
"WLRgeneric;", "Catalog operation revoke" ]
[ "wlr", "revoke_function", "pattern wlr.revoke_function(sname:str,
fcnid:int, grantee:str, privs:int, grant:int, grantor:int):void ",
"WLRgeneric;", "Catalog operation revoke_function" ]
[ "wlr", "revoke_roles", "pattern wlr.revoke_roles(sname:str, auth:str,
grantor:int, admin:int):void ", "WLRgeneric;", "Catalog operation
revoke_roles" ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -11134,6 +11134,7 @@ Ready.
[ "wlr", "replicate", "pattern wlr.replicate(dbname:str, id:lng):void
", "WLRreplicate;", "Roll the snapshot forward to a specific
transaction id" ]
[ "wlr", "replicate", "pattern wlr.replicate(dbname:str, id:sht):void
", "WLRreplicate;", "Roll the snapshot forward to a specific
transaction id" ]
[ "wlr", "replicate", "pattern wlr.replicate(dbname:str,
ts:timestamp):void ", "WLRreplicate;", "Roll the snapshot forward
to the time TS" ]
+[ "wlr", "replicate", "pattern wlr.replicate(ts:timestamp):void ",
"WLRreplicate;", "Roll the snapshot forward to an up-to-date clone"
]
[ "wlr", "revoke", "pattern wlr.revoke(sname:str, tbl:str,
grantee:str, privs:int, cname:str, grant:int, grantor:int):void ",
"WLRgeneric;", "Catalog operation revoke" ]
[ "wlr", "revoke_function", "pattern wlr.revoke_function(sname:str,
fcnid:int, grantee:str, privs:int, grant:int, grantor:int):void ",
"WLRgeneric;", "Catalog operation revoke_function" ]
[ "wlr", "revoke_roles", "pattern wlr.revoke_roles(sname:str, auth:str,
grantor:int, admin:int):void ", "WLRgeneric;", "Catalog operation
revoke_roles" ]
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
@@ -41,7 +41,7 @@
* IMPLEMENTATION
* The underlying assumption of the techniques deployed is that the database
* resides on a proper (global/distributed) file system to guarantees recovery
- * from most storage system related failures, e.g. using RAID disks or
LSFsystems.
+ * from most storage system related failures, e.g. using RAID disks or LSF
systems.
*
* A database can be set into 'master' mode only once using the SQL command:
* CALL master()
diff --git a/monetdb5/optimizer/opt_wlc.c b/monetdb5/optimizer/opt_wlc.c
--- a/monetdb5/optimizer/opt_wlc.c
+++ b/monetdb5/optimizer/opt_wlc.c
@@ -7,9 +7,7 @@
*/
/* author M.Kersten
- * This optimizer prepares a MAL block for delayed locking
- * The objects are mapped to a fixed hash table to speedup testing later.
- * We don't need the actual name of the objects
+ * This optimizer prepares the code for workload-capture-replay processing.
*/
#include "monetdb_config.h"
#include "opt_wlc.h"
@@ -34,9 +32,15 @@ OPTwlcImplementation(Client cntxt, MalBl
limit= mb->stop;
slimit = mb->ssize;
- /* check if we are dealing with an update */
+ /* check if we are dealing with an update and move definition to
front*/
for (i = 0; i < limit; i++) {
p = old[i];
+ if( getModuleId(p) == querylogRef && getFunctionId(p) ==
defineRef){
+ def = p;
+ for(j = i; j>1; j--)
+ old[j]= old[j-1];
+ old[j]= def;
+ }
if( getModuleId(p) == sqlcatalogRef)
query = 0;
if( getModuleId(p) == sqlRef &&
@@ -46,6 +50,7 @@ OPTwlcImplementation(Client cntxt, MalBl
getFunctionId(p) == clear_tableRef ))
query = 0;
}
+ def = 0;
if(query) // nothing to log
return MAL_SUCCEED;
@@ -69,13 +74,13 @@ OPTwlcImplementation(Client cntxt, MalBl
updates++;
} else
/* the catalog operations all need to be re-executed */
- if( getModuleId(p) == sqlcatalogRef &&
+ if( def && getModuleId(p) == sqlcatalogRef &&
strcmp( getVarConstant(mb,getArg(p,1)).val.sval, "tmp")
!= 0 ){
assert( def);// should always be there
setFunctionId(def,catalogRef);
updates++;
} else
- if( getModuleId(p) == sqlRef && getFunctionId(p) ==
clear_tableRef &&
+ if( def && getModuleId(p) == sqlRef && getFunctionId(p) ==
clear_tableRef &&
strcmp( getVarConstant(mb,getArg(p,1)).val.sval, "tmp")
!= 0 ){
setFunctionId(def,actionRef);
assert(def);
@@ -86,7 +91,7 @@ OPTwlcImplementation(Client cntxt, MalBl
pushInstruction(mb,q);
updates++;
} else
- if( getModuleId(p) == sqlRef &&
+ if( def && getModuleId(p) == sqlRef &&
( getFunctionId(p) == appendRef ||
getFunctionId(p) == updateRef ||
getFunctionId(p) == deleteRef ||
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
@@ -405,11 +405,13 @@ WLRreplicate(Client cntxt, MalBlkPtr mb,
throw(SQL,"wlr.replicate","Master and replicate
should be different");
strncpy(wlr_master, *getArgReference_str(stk,pci,1),
IDLENGTH);
}
- } else
+ } else {
+ timelimit[0]=0;
wlr_limit = -1;
+ }
if( getArgType(mb, pci, pci->argc-1) == TYPE_timestamp){
- timestamp_tz_tostr(&timelimit, &size, (timestamp*)
getArgReference(stk,pci,2), &tzone_local);
+ timestamp_tz_tostr(&timelimit, &size, (timestamp*)
getArgReference(stk,pci,1), &tzone_local);
mnstr_printf(cntxt->fdout,"#time limit %s\n",timelimit);
} else
if( getArgType(mb, pci, pci->argc-1) == TYPE_bte)
@@ -526,6 +528,8 @@ WLRquery(Client cntxt, MalBlkPtr mb, Mal
// execute the query in replay mode when required.
// we need to get rid of the escaped quote.
x = qtxt= (char*) GDKmalloc(strlen(qry) +1);
+ if( qtxt == NULL)
+ throw(SQL,"wlr.query",MAL_MALLOC_FAIL);
for(y = qry; *y; y++){
if( *y == '\\' ){
if( *(y+1) == '\'')
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
@@ -10,6 +10,10 @@ pattern replicate()
address WLRreplicate
comment "Roll the snapshot forward to an up-to-date clone";
+pattern replicate(ts:timestamp)
+address WLRreplicate
+comment "Roll the snapshot forward to an up-to-date clone";
+
pattern replicate(dbname:str)
address WLRreplicate
comment "Roll the snapshot forward to an up-to-date clone";
diff --git a/sql/scripts/60_wlcr.sql b/sql/scripts/60_wlcr.sql
--- a/sql/scripts/60_wlcr.sql
+++ b/sql/scripts/60_wlcr.sql
@@ -29,6 +29,9 @@ external name wlc."getmastertick";
create procedure replicate()
external name wlr.replicate;
+create procedure replicate(pointintime timestamp)
+external name wlr.replicate;
+
create procedure replicate(dbname string)
external name wlr.replicate;
diff --git a/sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out
b/sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out
--- a/sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out
+++ b/sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out
@@ -74,27 +74,28 @@ Ready.
% tinyint # type
% 1 # length
[ 1 ]
-#select owner, query, pipe, plan, mal from sys.querylog_catalog;
-% .querylog_catalog, .querylog_catalog, .querylog_catalog,
.querylog_catalog, .querylog_catalog # table_name
-% owner, query, pipe, plan, mal # name
-% clob, clob, clob, clob, int # type
-% 7, 9, 12, 10, 2 # length
-[ "monetdb", "select 1;", "default_pipe", "user.s10_1", 45 ]
+#select owner, query, pipe, plan from sys.querylog_catalog;
+% .querylog_catalog, .querylog_catalog, .querylog_catalog,
.querylog_catalog # table_name
+% owner, query, pipe, plan # name
+% clob, clob, clob, clob # type
+% 7, 58, 12, 10 # length
+[ "monetdb", "select 1;", "default_pipe", "user.s10_1" ]
+[ "monetdb", "select owner, query, pipe, plan from sys.querylog_catalog;",
"default_pipe", "user.s12_1" ]
#select arguments, tuples from sys.querylog_calls;
% .querylog_calls, .querylog_calls # table_name
% arguments, tuples # name
% clob, bigint # type
% 18, 1 # length
[ "user.s10_1():void;", 1 ]
-[ "user.s12_1():void;", 5 ]
-#select owner, query, pipe, plan, mal, arguments, tuples from
sys.querylog_history;
-% .querylog_history, .querylog_history, .querylog_history,
.querylog_history, .querylog_history, .querylog_history,
.querylog_history # table_name
-% owner, query, pipe, plan, mal, arguments, tuples # name
-% clob, clob, clob, clob, int, clob, bigint # type
-% 7, 9, 12, 10, 2, 18, 1 # length
-[ "monetdb", "select 1;", "default_pipe", "user.s10_1", 45,
"user.s10_1():void;", 1 ]
-[ "monetdb", "select 1;", "default_pipe", "user.s10_1", 45,
"user.s12_1():void;", 5 ]
-[ "monetdb", "select 1;", "default_pipe", "user.s10_1", 45,
"user.s14_1():void;", 2 ]
+[ "user.s12_1():void;", 4 ]
+#select owner, query, pipe, plan, arguments, tuples from sys.querylog_history;
+% .querylog_history, .querylog_history, .querylog_history,
.querylog_history, .querylog_history, .querylog_history # table_name
+% owner, query, pipe, plan, arguments, tuples # name
+% clob, clob, clob, clob, clob, bigint # type
+% 7, 58, 12, 10, 18, 1 # length
+[ "monetdb", "select 1;", "default_pipe", "user.s10_1",
"user.s10_1():void;", 1 ]
+[ "monetdb", "select owner, query, pipe, plan from sys.querylog_catalog;",
"default_pipe", "user.s12_1", "user.s12_1():void;", 4 ]
+[ "monetdb", "select arguments, tuples from sys.querylog_calls;",
"default_pipe", "user.s14_1", "user.s14_1():void;", 2 ]
#select * from sys.querylog_history;
% .querylog_history, .querylog_history, .querylog_history,
.querylog_history, .querylog_history, .querylog_history,
.querylog_history, .querylog_history, .querylog_history,
.querylog_history, .querylog_history, .querylog_history,
.querylog_history, .querylog_history, .querylog_history,
.querylog_history # table_name
% id, owner, defined, query, pipe, plan, mal, optimize,
start, stop, arguments, tuples, run, ship, cpu, io # name
diff --git a/sql/test/Dump/Tests/dump.stable.out
b/sql/test/Dump/Tests/dump.stable.out
--- a/sql/test/Dump/Tests/dump.stable.out
+++ b/sql/test/Dump/Tests/dump.stable.out
@@ -89,7 +89,7 @@ CREATE TABLE "sys"."typestest" (
"uuid" UUID
);
COPY 1 RECORDS INTO "sys"."typestest" FROM stdin USING DELIMITERS
'\t','\n','"';
-true 10 10000 1000000 10000000000 1e+30 1e+20 1.000
123456789 12345.678 3.1415 3.1415 3.1415 2009-04-15 24
18 3 1728000.000 108000.000 120000.000 100000.000
36000.000 6000.000 2000.000 600.000 100.000 10.000
1995-07-15 07:30:00.000000 1995-07-15 07:30:00.00000 1995-07-15
07:30:00.000000+00:00 1995-07-15 07:30:00.00000+00:00 07:30:00
07:30:00.00000 07:30:00+00:00 07:30:00.00000+00:00 123456 123456
"123456" "123456" "x" "varchar" "0123456789"
127.0.0.0 127.127.127.255 {"a": 123} {"b": 456}
https://www.monetdb.org/Documentation/Manuals/SQLreference/BuiltinTypes
https://www.monetdb.org/Documentation/Manuals/SQLreference/URLtype
ae106ad4-81fd-4f1a-85e8-5efface60da4
+true 10 10000 1000000 10000000000 1e+30 1e+20 1.000
123456789 12345.678 3.1415 3.1415 3.1415 2009-04-15 24
18 3 1728000.000 108000.000 120000.000 100000.000
36000.000 6000.000 2000.000 600.000 100.000 10.000
"1995-07-15 07:30:00.000000" "1995-07-15 07:30:00.00000" "1995-07-15
07:30:00.000000+00:00" "1995-07-15 07:30:00.00000+00:00" 07:30:00
07:30:00.00000 07:30:00+00:00 07:30:00.00000+00:00 123456 123456
"123456" "123456" "x" "varchar" "0123456789"
127.0.0.0 127.127.127.255 {"a": 123} {"b": 456}
https://www.monetdb.org/Documentation/Manuals/SQLreference/BuiltinTypes
https://www.monetdb.org/Documentation/Manuals/SQLreference/URLtype
ae106ad4-81fd-4f1a-85e8-5efface60da4
CREATE TABLE "sys"."keytest1" (
"key1" INTEGER NOT NULL,
"key2" INTEGER NOT NULL,
diff --git a/sql/test/Tests/systemfunctions.stable.out
b/sql/test/Tests/systemfunctions.stable.out
--- a/sql/test/Tests/systemfunctions.stable.out
+++ b/sql/test/Tests/systemfunctions.stable.out
@@ -1379,6 +1379,7 @@ Ready.
[ "sys", "replace", 3, "clob", "" ]
[ "sys", "replicabeat", 0, "int", "create procedure
replicabeat(duration integer)\nexternal name wlr.\"setreplicabeat\";" ]
[ "sys", "replicaclock", 0, "clob", "create function replicaclock()
returns string\nexternal name wlr.\"getreplicaclock\";" ]
+[ "sys", "replicate", 0, "timestamp", "create procedure
replicate(pointintime timestamp)\nexternal name wlr.replicate;" ]
[ "sys", "replicate", 0, "clob", "create procedure
replicate(dbname string)\nexternal name wlr.replicate;" ]
[ "sys", "replicate", 0, "clob", "create procedure
replicate(dbname string, pointintime timestamp)\nexternal name wlr.replicate;"
]
[ "sys", "replicate", 1, "timestamp", "" ]
diff --git a/sql/test/Tests/systemfunctions.stable.out.int128
b/sql/test/Tests/systemfunctions.stable.out.int128
--- a/sql/test/Tests/systemfunctions.stable.out.int128
+++ b/sql/test/Tests/systemfunctions.stable.out.int128
@@ -1444,6 +1444,7 @@ Ready.
[ "sys", "replace", 3, "clob", "" ]
[ "sys", "replicabeat", 0, "int", "create procedure
replicabeat(duration integer)\nexternal name wlr.\"setreplicabeat\";" ]
[ "sys", "replicaclock", 0, "clob", "create function replicaclock()
returns string\nexternal name wlr.\"getreplicaclock\";" ]
+[ "sys", "replicate", 0, "timestamp", "create procedure
replicate(pointintime timestamp)\nexternal name wlr.replicate;" ]
[ "sys", "replicate", 0, "clob", "create procedure
replicate(dbname string)\nexternal name wlr.replicate;" ]
[ "sys", "replicate", 0, "clob", "create procedure
replicate(dbname string, pointintime timestamp)\nexternal name wlr.replicate;"
]
[ "sys", "replicate", 1, "timestamp", "" ]
diff --git a/sql/test/emptydb/Tests/check.stable.out
b/sql/test/emptydb/Tests/check.stable.out
--- a/sql/test/emptydb/Tests/check.stable.out
+++ b/sql/test/emptydb/Tests/check.stable.out
@@ -998,6 +998,7 @@ create function sys.rejects() returns ta
create procedure replicabeat(duration integer) external name
wlr."setreplicabeat";
create function replicaclock() returns string external name
wlr."getreplicaclock";
create procedure replicate() external name wlr.replicate;
+create procedure replicate(pointintime timestamp) external name wlr.replicate;
create procedure replicate(dbname string) external name wlr.replicate;
create procedure replicate(dbname string, pointintime timestamp) external name
wlr.replicate;
create procedure replicate(dbname string, id tinyint) external name
wlr.replicate;
@@ -2264,6 +2265,7 @@ drop function pcre_replace(string, strin
[ "sys", "replicate", "create procedure replicate(dbname string, id
smallint) external name wlr.replicate;", "wlr", 1, 2, true,
false, false ]
[ "sys", "replicate", "create procedure replicate(dbname string, id
tinyint) external name wlr.replicate;", "wlr", 1, 2, true,
false, false ]
[ "sys", "replicate", "create procedure replicate(dbname string,
pointintime timestamp) external name wlr.replicate;", "wlr", 1, 2,
true, false, false ]
+[ "sys", "replicate", "create procedure replicate(pointintime
timestamp) external name wlr.replicate;", "wlr", 1, 2, true,
false, false ]
[ "sys", "replicatick", "create function replicatick() returns bigint
external name wlr.\"getreplicatick\";", "wlr", 1, 1, false,
false, false ]
[ "sys", "restart", "restart", "sql", 0, 1, false,
false, false ]
[ "sys", "resume", "create procedure sys.resume(tag bigint)
external name sql.sysmon_resume;", "sql", 1, 2, true, false,
false ]
@@ -3826,6 +3828,7 @@ drop function pcre_replace(string, strin
[ "sys", "replicaclock", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
[ "sys", "replicate", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
[ "sys", "replicate", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
+[ "sys", "replicate", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
[ "sys", "replicate", "id", "bigint", 64, 0, 1,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
]
[ "sys", "replicate", "id", "int", 32, 0, 1, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
[ "sys", "replicate", "id", "smallint", 16, 0, 1,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
]
@@ -6251,6 +6254,7 @@ drop function pcre_replace(string, strin
[ "replicate" ]
[ "replicate" ]
[ "replicate" ]
+[ "replicate" ]
[ "replicatick" ]
[ "restart" ]
[ "resume" ]
diff --git a/sql/test/emptydb/Tests/check.stable.out.32bit
b/sql/test/emptydb/Tests/check.stable.out.32bit
--- a/sql/test/emptydb/Tests/check.stable.out.32bit
+++ b/sql/test/emptydb/Tests/check.stable.out.32bit
@@ -1008,6 +1008,7 @@ create function sys.rejects() returns ta
create procedure replicabeat(duration integer) external name
wlr."setreplicabeat";
create function replicaclock() returns string external name
wlr."getreplicaclock";
create procedure replicate() external name wlr.replicate;
+create procedure replicate(pointintime timestamp) external name wlr.replicate;
create procedure replicate(dbname string) external name wlr.replicate;
create procedure replicate(dbname string, pointintime timestamp) external name
wlr.replicate;
create procedure replicate(dbname string, id tinyint) external name
wlr.replicate;
@@ -2274,6 +2275,7 @@ drop function pcre_replace(string, strin
[ "sys", "replicate", "create procedure replicate(dbname string, id
smallint) external name wlr.replicate;", "wlr", 1, 2, true,
false, false ]
[ "sys", "replicate", "create procedure replicate(dbname string, id
tinyint) external name wlr.replicate;", "wlr", 1, 2, true,
false, false ]
[ "sys", "replicate", "create procedure replicate(dbname string,
pointintime timestamp) external name wlr.replicate;", "wlr", 1, 2,
true, false, false ]
+[ "sys", "replicate", "create procedure replicate(pointintime
timestamp) external name wlr.replicate;", "wlr", 1, 2, true,
false, false ]
[ "sys", "replicatick", "create function replicatick() returns bigint
external name wlr.\"getreplicatick\";", "wlr", 1, 1, false,
false, false ]
[ "sys", "restart", "restart", "sql", 0, 1, false,
false, false ]
[ "sys", "resume", "create procedure sys.resume(tag bigint)
external name sql.sysmon_resume;", "sql", 1, 2, true, false,
false ]
@@ -3836,6 +3838,7 @@ drop function pcre_replace(string, strin
[ "sys", "replicaclock", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
[ "sys", "replicate", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
[ "sys", "replicate", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
+[ "sys", "replicate", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
[ "sys", "replicate", "id", "bigint", 64, 0, 1,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
]
[ "sys", "replicate", "id", "int", 32, 0, 1, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ]
[ "sys", "replicate", "id", "smallint", 16, 0, 1,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
]
@@ -6261,6 +6264,7 @@ drop function pcre_replace(string, strin
[ "replicate" ]
[ "replicate" ]
[ "replicate" ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list