Changeset: be52f2e63ba8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=be52f2e63ba8
Modified Files:
monetdb5/modules/atoms/mtime.c
monetdb5/modules/mal/batmtime.mal
monetdb5/modules/mal/batmtime.mal.sh
sql/backends/monet5/sql.c
sql/backends/monet5/sql_subquery.mal
Branch: unlock
Log Message:
merged with default
diffs (142 lines):
diff --git a/monetdb5/modules/atoms/mtime.c b/monetdb5/modules/atoms/mtime.c
--- a/monetdb5/modules/atoms/mtime.c
+++ b/monetdb5/modules/atoms/mtime.c
@@ -884,6 +884,9 @@ static mel_func mtime_init_funcs[] = {
command("batmtime", "time_add_msec_interval",
MTIMEtime_add_msec_interval_bulk_p1, false, "", args(1,3,
batarg("",daytime),arg("t",daytime),batarg("ms",lng))),
command("batmtime", "time_add_msec_interval",
MTIMEtime_add_msec_interval_bulk_p2, false, "", args(1,3,
batarg("",daytime),batarg("t",daytime),arg("ms",lng))),
command("mtime", "diff", MTIMEdaytime_diff_msec, false, "returns the number
of msec between 'val1' and 'val2'.", args(1,3,
arg("",lng),arg("val1",daytime),arg("val2",daytime))),
+ command("batmtime", "diff", MTIMEdaytime_diff_msec_bulk, false, "", args(1,3,
batarg("",lng),batarg("val1",daytime),batarg("val2",daytime))),
+ command("batmtime", "diff", MTIMEdaytime_diff_msec_bulk_p1, false, "",
args(1,3, batarg("",lng),arg("val1",daytime),batarg("val2",daytime))),
+ command("batmtime", "diff", MTIMEdaytime_diff_msec_bulk_p2, false, "",
args(1,3, batarg("",lng),batarg("val1",daytime),arg("val2",daytime))),
command("mtime", "date_sub_month_interval", MTIMEdate_submonths, false,
"Subtract months from a date", args(1,3,
arg("",date),arg("t",date),arg("months",int))),
command("batmtime", "date_sub_month_interval", MTIMEdate_submonths_bulk,
false, "", args(1,3, batarg("",date),batarg("t",date),batarg("months",int))),
command("batmtime", "date_sub_month_interval", MTIMEdate_submonths_bulk_p1,
false, "", args(1,3, batarg("",date),arg("t",date),batarg("months",int))),
@@ -912,6 +915,9 @@ static mel_func mtime_init_funcs[] = {
command("batmtime", "addmonths", MTIMEdate_addmonths_bulk_p1, false, "",
args(1,3, batarg("",date),arg("value",date),batarg("months",int))),
command("batmtime", "addmonths", MTIMEdate_addmonths_bulk_p2, false, "",
args(1,3, batarg("",date),batarg("value",date),arg("months",int))),
command("mtime", "diff", MTIMEdate_diff, false, "returns the number of
days\nbetween 'val1' and 'val2'.", args(1,3,
arg("",int),arg("val1",date),arg("val2",date))),
+ command("batmtime", "diff", MTIMEdate_diff_bulk, false, "", args(1,3,
batarg("",int),batarg("val1",date),batarg("val2",date))),
+ command("batmtime", "diff", MTIMEdate_diff_bulk_p1, false, "", args(1,3,
batarg("",int),arg("val1",date),batarg("val2",date))),
+ command("batmtime", "diff", MTIMEdate_diff_bulk_p2, false, "", args(1,3,
batarg("",int),batarg("val1",date),arg("val2",date))),
command("mtime", "dayofyear", MTIMEdate_extract_dayofyear, false, "Returns N
where d is the Nth day\nof the year (january 1 returns 1)", args(1,2,
arg("",int),arg("d",date))),
command("batmtime", "dayofyear", MTIMEdate_extract_dayofyear_bulk, false, "",
args(1,2, batarg("",int),batarg("d",date))),
command("mtime", "weekofyear", MTIMEdate_extract_weekofyear, false, "Returns
the week number in the year.", args(1,2, arg("",int),arg("d",date))),
@@ -919,6 +925,9 @@ static mel_func mtime_init_funcs[] = {
command("mtime", "dayofweek", MTIMEdate_extract_dayofweek, false, "Returns
the current day of the week\nwhere 1=monday, .., 7=sunday", args(1,2,
arg("",int),arg("d",date))),
command("batmtime", "dayofweek", MTIMEdate_extract_dayofweek_bulk, false, "",
args(1,2, batarg("",int),batarg("d",date))),
command("mtime", "diff", MTIMEtimestamp_diff_msec, false, "returns the number
of milliseconds\nbetween 'val1' and 'val2'.", args(1,3,
arg("",lng),arg("val1",timestamp),arg("val2",timestamp))),
+ command("batmtime", "diff", MTIMEtimestamp_diff_msec_bulk, false, "",
args(1,3, batarg("",lng),batarg("val1",timestamp),batarg("val2",timestamp))),
+ command("batmtime", "diff", MTIMEtimestamp_diff_msec_bulk_p1, false, "",
args(1,3, batarg("",lng),arg("val1",timestamp),batarg("val2",timestamp))),
+ command("batmtime", "diff", MTIMEtimestamp_diff_msec_bulk_p2, false, "",
args(1,3, batarg("",lng),batarg("val1",timestamp),arg("val2",timestamp))),
command("mtime", "str_to_date", MTIMEstr_to_date, false, "create a date from
the string, using the specified format (see man strptime)", args(1,3,
arg("",date),arg("s",str),arg("format",str))),
command("batmtime", "str_to_date", MTIMEstr_to_date_bulk, false, "",
args(1,3, batarg("",date),batarg("s",str),batarg("format",str))),
command("batmtime", "str_to_date", MTIMEstr_to_date_bulk_p1, false, "",
args(1,3, batarg("",date),arg("s",str),batarg("format",str))),
diff --git a/monetdb5/modules/mal/batmtime.mal
b/monetdb5/modules/mal/batmtime.mal
--- a/monetdb5/modules/mal/batmtime.mal
+++ b/monetdb5/modules/mal/batmtime.mal
@@ -469,12 +469,24 @@ module batmtime;
command diff(b1:bat[:date],b2:bat[:date]) :bat[:int]
address MTIMEdate_diff_bulk
comment "Difference of two sets of date.";
+command diff(b1:date,b2:bat[:date]) :bat[:int]
+address MTIMEdate_diff_bulk_p1;
+command diff(b1:bat[:date],b2:date) :bat[:int]
+address MTIMEdate_diff_bulk_p2;
command diff(b1:bat[:daytime],b2:bat[:daytime]) :bat[:lng]
address MTIMEdaytime_diff_msec_bulk
comment "Difference of two sets of daytime.";
+command diff(b1:daytime,b2:bat[:daytime]) :bat[:lng]
+address MTIMEdaytime_diff_bulk_p1;
+command diff(b1:bat[:daytime],b2:daytime) :bat[:lng]
+address MTIMEdaytime_diff_bulk_p2;
command diff(b1:bat[:timestamp],b2:bat[:timestamp]) :bat[:lng]
address MTIMEtimestamp_diff_msec_bulk
comment "Difference of two sets of timestamp.";
+command diff(b1:timestamp,b2:bat[:timestamp]) :bat[:lng]
+address MTIMEtimestamp_diff_bulk_p1;
+command diff(b1:bat[:timestamp],b2:timestamp) :bat[:lng]
+address MTIMEtimestamp_diff_bulk_p2;
diff --git a/monetdb5/modules/mal/batmtime.mal.sh
b/monetdb5/modules/mal/batmtime.mal.sh
--- a/monetdb5/modules/mal/batmtime.mal.sh
+++ b/monetdb5/modules/mal/batmtime.mal.sh
@@ -75,13 +75,25 @@ cat <<EOF
command diff(b1:bat[:date],b2:bat[:date]) :bat[:int]
address MTIMEdate_diff_bulk
comment "Difference of two sets of date.";
+command diff(b1:date,b2:bat[:date]) :bat[:int]
+address MTIMEdate_diff_bulk_p1;
+command diff(b1:bat[:date],b2:date) :bat[:int]
+address MTIMEdate_diff_bulk_p2;
command diff(b1:bat[:daytime],b2:bat[:daytime]) :bat[:lng]
address MTIMEdaytime_diff_msec_bulk
comment "Difference of two sets of daytime.";
+command diff(b1:daytime,b2:bat[:daytime]) :bat[:lng]
+address MTIMEdaytime_diff_bulk_p1;
+command diff(b1:bat[:daytime],b2:daytime) :bat[:lng]
+address MTIMEdaytime_diff_bulk_p2;
command diff(b1:bat[:timestamp],b2:bat[:timestamp]) :bat[:lng]
address MTIMEtimestamp_diff_msec_bulk
comment "Difference of two sets of timestamp.";
+command diff(b1:timestamp,b2:bat[:timestamp]) :bat[:lng]
+address MTIMEtimestamp_diff_bulk_p1;
+command diff(b1:bat[:timestamp],b2:timestamp) :bat[:lng]
+address MTIMEtimestamp_diff_bulk_p2;
EOF
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -6316,12 +6316,12 @@ static mel_func sql_init_funcs[] = {
command("aggr", "suballnotequal", SQLallnotequal_grp, false, "if all values
in r are not equal to l return true, else if r has nil nil else false",
args(1,6,
batarg("",bit),batargany("l",1),batargany("r",1),batarg("gp",oid),batarg("gpe",oid),arg("no_nil",bit))),
command("aggr", "suballnotequal", SQLallnotequal_grp2, false, "if all values
in r are not equal to l return true, else if r has nil nil else false, except
if rid is nil (ie empty) then true", args(1,7,
batarg("",bit),batargany("l",1),batargany("r",1),batarg("rid",oid),batarg("gp",oid),batarg("gpe",oid),arg("no_nil",bit))),
// command("aggr", "exist", ALGexist, false, "", args(1,3,
arg("",bit),batargany("b",2),argany("h",1))),
- command("aggr", "exist", SQLexist, false, "", args(1,2,
arg("",bit),batargany("b",2))),
- pattern("aggr", "exist", SQLexist_val, false, "", args(1,2,
arg("",bit),argany("v",2))),
- command("aggr", "subexist", SQLsubexist, false, "", args(1,5,
batarg("",bit),batargany("b",2),batarg("g",oid),batarg("e",oid),arg("no_nil",bit))),
- command("aggr", "not_exist", SQLnot_exist, false, "", args(1,2,
arg("",bit),batargany("b",2))),
- pattern("aggr", "not_exist", SQLnot_exist_val, false, "", args(1,2,
arg("",bit),argany("v",2))),
- command("aggr", "subnot_exist", SQLsubnot_exist, false, "", args(1,5,
batarg("",bit),batargany("b",2),batarg("g",oid),batarg("e",oid),arg("no_nil",bit))),
+ command("aggr", "exist", SQLexist, false, "", args(1,2,
arg("",bit),batargany("b",0))),
+ pattern("aggr", "exist", SQLexist_val, false, "", args(1,2,
arg("",bit),argany("v",0))),
+ command("aggr", "subexist", SQLsubexist, false, "", args(1,5,
batarg("",bit),batargany("b",0),batarg("g",oid),batarg("e",oid),arg("no_nil",bit))),
+ command("aggr", "not_exist", SQLnot_exist, false, "", args(1,2,
arg("",bit),batargany("b",0))),
+ pattern("aggr", "not_exist", SQLnot_exist_val, false, "", args(1,2,
arg("",bit),argany("v",0))),
+ command("aggr", "subnot_exist", SQLsubnot_exist, false, "", args(1,5,
batarg("",bit),batargany("b",0),batarg("g",oid),batarg("e",oid),arg("no_nil",bit))),
/* wlr */
pattern("wlr", "master", WLRmaster, false, "Initialize the replicator
thread", args(0,1, arg("dbname",str))),
pattern("wlr", "stop", WLRstop, false, "Stop the replicator thread", noargs),
diff --git a/sql/backends/monet5/sql_subquery.mal
b/sql/backends/monet5/sql_subquery.mal
--- a/sql/backends/monet5/sql_subquery.mal
+++ b/sql/backends/monet5/sql_subquery.mal
@@ -78,20 +78,20 @@ comment "if all values in r are not equa
command aggr.exist(b:bat[:any_2], h:any_1):bit
address ALGexist;
-command aggr.exist(b:bat[:any_2]):bit
+command aggr.exist(b:bat[:any_0]):bit
address SQLexist;
-pattern aggr.exist(v:any_2):bit
+pattern aggr.exist(v:any_0):bit
address SQLexist_val;
-command aggr.subexist(b:bat[:any_2], g:bat[:oid], e:bat[:oid],
no_nil:bit):bat[:bit]
+command aggr.subexist(b:bat[:any_0], g:bat[:oid], e:bat[:oid],
no_nil:bit):bat[:bit]
address SQLsubexist;
-command aggr.not_exist(b:bat[:any_2]):bit
+command aggr.not_exist(b:bat[:any_0]):bit
address SQLnot_exist;
-pattern aggr.not_exist(v:any_2):bit
+pattern aggr.not_exist(v:any_0):bit
address SQLnot_exist_val;
-command aggr.subnot_exist(b:bat[:any_2], g:bat[:oid], e:bat[:oid],
no_nil:bit):bat[:bit]
+command aggr.subnot_exist(b:bat[:any_0], g:bat[:oid], e:bat[:oid],
no_nil:bit):bat[:bit]
address SQLsubnot_exist;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list