Changeset: 326594c76682 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=326594c76682
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        monetdb5/modules/mal/01_batcalc.mal
        monetdb5/modules/mal/01_batcalc.mal.sh
Branch: Jun2020
Log Message:

Add MAL interface for conditional execution in batcalc.between.


diffs (116 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
@@ -7478,12 +7478,20 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "avg",  "pattern batcalc.avg(b:bat[:sht], s:bat[:oid], 
scale:int):dbl ",        "CMDcalcavg;",  "average of non-nil values of B"       
 ]
 [ "batcalc",   "avg",  "pattern batcalc.avg(b:bat[:sht], scale:int) (X_0:dbl, 
X_1:lng) ",      "CMDcalcavg;",  "average and number of non-nil values of B"    
 ]
 [ "batcalc",   "avg",  "pattern batcalc.avg(b:bat[:sht], scale:int):dbl ",     
"CMDcalcavg;",  "average of non-nil values of B with candidates list"   ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:any_1, r:bat[:bit], sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",    "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa) with conditional execution bat"    ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:any_1, s:bat[:oid], r:bat[:bit], sym:bit, linc:bit, hinc:bit, 
nils_false:bit, anti:bit):bat[:bit] ",       "CMDbatBETWEEN;",       "B between 
V1 and V2 (or vice versa) with candidate list and conditional execution bat" ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",    "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa) with candidate list"       ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ", "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa)"   ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:bat[:any_1], r:bat[:bit], sym:bit, linc:bit, hinc:bit, 
nils_false:bit, anti:bit):bat[:bit] ",      "CMDbatBETWEEN;",       "B between 
V1 and V2 (or vice versa) with conditional execution bat"    ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:bat[:any_1], s:bat[:oid], s2:bat[:oid], r:bat[:bit], sym:bit, 
linc:bit, hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",   "CMDbatBETWEEN;",  
     "B between V1 and V2 (or vice versa) with candidate list and conditional 
execution bat" ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:bat[:any_1], s:bat[:oid], s2:bat[:oid], sym:bit, linc:bit, 
hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",        "CMDbatBETWEEN;",       
"B between V1 and V2 (or vice versa) with candidate list"       ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:bat[:any_1], sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",   "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa)"   ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:any_1, r:bat[:bit], sym:bit, linc:bit, hinc:bit, 
nils_false:bit, anti:bit):bat[:bit] ",      "CMDbatBETWEEN;",       "B between 
V1 and V2 (or vice versa) with conditional execution bat"    ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:any_1, s:bat[:oid], s1:bat[:oid], r:bat[:bit], sym:bit, 
linc:bit, hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",   "CMDbatBETWEEN;",  
     "B between V1 and V2 (or vice versa) with candidate list and conditional 
execution bat" ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:any_1, s:bat[:oid], s1:bat[:oid], sym:bit, linc:bit, 
hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",        "CMDbatBETWEEN;",       
"B between V1 and V2 (or vice versa) with candidate list"       ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",   "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa)"   ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:bat[:any_1], r:bat[:bit], sym:bit, linc:bit, hinc:bit, 
nils_false:bit, anti:bit):bat[:bit] ",        "CMDbatBETWEEN;",       "B 
between V1 and V2 (or vice versa) with conditional execution bat"    ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:bat[:any_1], s:bat[:oid], s1:bat[:oid], s2:bat[:oid], 
r:bat[:bit], sym:bit, linc:bit, hinc:bit, nils_false:bit, anti:bit):bat[:bit] 
",       "CMDbatBETWEEN;",       "B between V1 and V2 (or vice versa) with 
candidate list and conditional execution bat" ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:bat[:any_1], s:bat[:oid], s1:bat[:oid], s2:bat[:oid], 
sym:bit, linc:bit, hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",    
"CMDbatBETWEEN;",       "B between V1 and V2 (or vice versa) with candidate 
list"       ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:bat[:any_1], sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",     "CMDbatBETWEEN;",       "B between V1 and V2 (or 
vice versa)"   ]
 [ "batcalc",   "bit",  "pattern batcalc.bit(b:bat[:bit]):bat[:bit] ",  
"CMDconvertsignal_bit;",        "cast from bit to bit, signal error on 
overflow"        ]
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
@@ -10771,12 +10771,20 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "avg",  "pattern batcalc.avg(b:bat[:sht], s:bat[:oid], 
scale:int):dbl ",        "CMDcalcavg;",  "average of non-nil values of B"       
 ]
 [ "batcalc",   "avg",  "pattern batcalc.avg(b:bat[:sht], scale:int) (X_0:dbl, 
X_1:lng) ",      "CMDcalcavg;",  "average and number of non-nil values of B"    
 ]
 [ "batcalc",   "avg",  "pattern batcalc.avg(b:bat[:sht], scale:int):dbl ",     
"CMDcalcavg;",  "average of non-nil values of B with candidates list"   ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:any_1, r:bat[:bit], sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",    "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa) with conditional execution bat"    ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:any_1, s:bat[:oid], r:bat[:bit], sym:bit, linc:bit, hinc:bit, 
nils_false:bit, anti:bit):bat[:bit] ",       "CMDbatBETWEEN;",       "B between 
V1 and V2 (or vice versa) with candidate list and conditional execution bat" ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",    "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa) with candidate list"       ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ", "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa)"   ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:bat[:any_1], r:bat[:bit], sym:bit, linc:bit, hinc:bit, 
nils_false:bit, anti:bit):bat[:bit] ",      "CMDbatBETWEEN;",       "B between 
V1 and V2 (or vice versa) with conditional execution bat"    ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:bat[:any_1], s:bat[:oid], s2:bat[:oid], r:bat[:bit], sym:bit, 
linc:bit, hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",   "CMDbatBETWEEN;",  
     "B between V1 and V2 (or vice versa) with candidate list and conditional 
execution bat" ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:bat[:any_1], s:bat[:oid], s2:bat[:oid], sym:bit, linc:bit, 
hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",        "CMDbatBETWEEN;",       
"B between V1 and V2 (or vice versa) with candidate list"       ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:any_1, v2:bat[:any_1], sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",   "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa)"   ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:any_1, r:bat[:bit], sym:bit, linc:bit, hinc:bit, 
nils_false:bit, anti:bit):bat[:bit] ",      "CMDbatBETWEEN;",       "B between 
V1 and V2 (or vice versa) with conditional execution bat"    ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:any_1, s:bat[:oid], s1:bat[:oid], r:bat[:bit], sym:bit, 
linc:bit, hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",   "CMDbatBETWEEN;",  
     "B between V1 and V2 (or vice versa) with candidate list and conditional 
execution bat" ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:any_1, s:bat[:oid], s1:bat[:oid], sym:bit, linc:bit, 
hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",        "CMDbatBETWEEN;",       
"B between V1 and V2 (or vice versa) with candidate list"       ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",   "CMDbatBETWEEN;",       "B between V1 and V2 (or vice 
versa)"   ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:bat[:any_1], r:bat[:bit], sym:bit, linc:bit, hinc:bit, 
nils_false:bit, anti:bit):bat[:bit] ",        "CMDbatBETWEEN;",       "B 
between V1 and V2 (or vice versa) with conditional execution bat"    ]
+[ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:bat[:any_1], s:bat[:oid], s1:bat[:oid], s2:bat[:oid], 
r:bat[:bit], sym:bit, linc:bit, hinc:bit, nils_false:bit, anti:bit):bat[:bit] 
",       "CMDbatBETWEEN;",       "B between V1 and V2 (or vice versa) with 
candidate list and conditional execution bat" ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:bat[:any_1], s:bat[:oid], s1:bat[:oid], s2:bat[:oid], 
sym:bit, linc:bit, hinc:bit, nils_false:bit, anti:bit):bat[:bit] ",    
"CMDbatBETWEEN;",       "B between V1 and V2 (or vice versa) with candidate 
list"       ]
 [ "batcalc",   "between",      "pattern batcalc.between(b:bat[:any_1], 
v1:bat[:any_1], v2:bat[:any_1], sym:bit, linc:bit, hinc:bit, nils_false:bit, 
anti:bit):bat[:bit] ",     "CMDbatBETWEEN;",       "B between V1 and V2 (or 
vice versa)"   ]
 [ "batcalc",   "bit",  "pattern batcalc.bit(b:bat[:bit]):bat[:bit] ",  
"CMDconvertsignal_bit;",        "cast from bit to bit, signal error on 
overflow"        ]
diff --git a/monetdb5/modules/mal/01_batcalc.mal 
b/monetdb5/modules/mal/01_batcalc.mal
--- a/monetdb5/modules/mal/01_batcalc.mal
+++ b/monetdb5/modules/mal/01_batcalc.mal
@@ -28674,6 +28674,30 @@ comment "B between V1 and V2 (or vice ve
 pattern 
between(b:bat[:any_1],v1:any_1,v2:any_1,s:bat[:oid],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
 address CMDbatBETWEEN
 comment "B between V1 and V2 (or vice versa) with candidate list";
+pattern 
between(b:bat[:any_1],v1:bat[:any_1],v2:bat[:any_1],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:bat[:any_1],v2:bat[:any_1],s:bat[:oid],s1:bat[:oid],s2:bat[:oid],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with candidate list and 
conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:bat[:any_1],v2:any_1,r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:bat[:any_1],v2:any_1,s:bat[:oid],s1:bat[:oid],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with candidate list and 
conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:any_1,v2:bat[:any_1],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:any_1,v2:bat[:any_1],s:bat[:oid],s2:bat[:oid],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with candidate list and 
conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:any_1,v2:any_1,r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:any_1,v2:any_1,s:bat[:oid],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with candidate list and 
conditional execution bat";
 
 
 pattern avg(b:bat[:bte]) :dbl
diff --git a/monetdb5/modules/mal/01_batcalc.mal.sh 
b/monetdb5/modules/mal/01_batcalc.mal.sh
--- a/monetdb5/modules/mal/01_batcalc.mal.sh
+++ b/monetdb5/modules/mal/01_batcalc.mal.sh
@@ -813,6 +813,30 @@ comment "B between V1 and V2 (or vice ve
 pattern 
between(b:bat[:any_1],v1:any_1,v2:any_1,s:bat[:oid],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
 address CMDbatBETWEEN
 comment "B between V1 and V2 (or vice versa) with candidate list";
+pattern 
between(b:bat[:any_1],v1:bat[:any_1],v2:bat[:any_1],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:bat[:any_1],v2:bat[:any_1],s:bat[:oid],s1:bat[:oid],s2:bat[:oid],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with candidate list and 
conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:bat[:any_1],v2:any_1,r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:bat[:any_1],v2:any_1,s:bat[:oid],s1:bat[:oid],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with candidate list and 
conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:any_1,v2:bat[:any_1],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:any_1,v2:bat[:any_1],s:bat[:oid],s2:bat[:oid],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with candidate list and 
conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:any_1,v2:any_1,r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with conditional execution bat";
+pattern 
between(b:bat[:any_1],v1:any_1,v2:any_1,s:bat[:oid],r:bat[:bit],sym:bit,linc:bit,hinc:bit,nils_false:bit,anti:bit)
 :bat[:bit]
+address CMDbatBETWEEN
+comment "B between V1 and V2 (or vice versa) with candidate list and 
conditional execution bat";
 
 EOF
 echo
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to