Changeset: 21f250cc35c2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=21f250cc35c2
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        monetdb5/modules/atoms/blob.c
        monetdb5/modules/atoms/blob.mal
        monetdb5/modules/mal/01_batcalc.mal
        monetdb5/modules/mal/01_batcalc.mal.sh
        monetdb5/modules/mal/01_calc.mal
        monetdb5/modules/mal/01_calc.mal.sh
        sql/ChangeLog.Apr2019
        sql/common/sql_types.c
        sql/test/Tests/systemfunctions.stable.out
        sql/test/Tests/systemfunctions.stable.out.int128
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
        sql/test/emptydb-upgrade/Tests/upgrade.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/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.powerpc64.int128
Branch: Apr2019
Log Message:

Implemented length(blob) and comparison between blobs.


diffs (truncated from 196406 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
@@ -839,6 +839,10 @@ Ready.
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sht], b2:bat[:sht], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B1 != B2"       ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B1 != B2 with 
candidates list"  ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return B1 != 
B2 with candidates list"  ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sqlblob], 
b2:bat[:sqlblob]):bat[:bit] ",    "CMDbatNE;",    "Return B1 != B2"       ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sqlblob], b2:bat[:sqlblob], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B1 != B2"       ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B1 != B2 with 
candidates list"  ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return B1 != 
B2 with candidates list"  ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:str], 
b2:bat[:str]):bat[:bit] ",    "CMDbatNE;",    "Return B1 != B2"       ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:str], b2:bat[:str], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B1 != B2"       ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:str], b2:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B1 != B2 with 
candidates list"  ]
@@ -1009,6 +1013,10 @@ Ready.
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sht], v:sht, 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B != V" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sht], v:sht, 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B != V with candidates 
list"    ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sht], v:sht, s:bat[:oid], 
nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return B != V with 
candidates list"    ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sqlblob], 
v:sqlblob):bat[:bit] ",    "CMDbatNE;",    "Return B != V" ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sqlblob], v:sqlblob, 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B != V" ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B != V with candidates 
list"    ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return B != V 
with candidates list"    ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:str], v:str):bat[:bit] ",    
"CMDbatNE;",    "Return B != V" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:str], v:str, 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B != V" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:str], v:str, 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B != V with candidates 
list"    ]
@@ -1177,6 +1185,10 @@ Ready.
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:sht, b:bat[:sht], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return V != B" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:sht, b:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return V != B with candidates 
list"    ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:sht, b:bat[:sht], s:bat[:oid], 
nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return V != B with 
candidates list"    ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(v:sqlblob, 
b:bat[:sqlblob]):bat[:bit] ",    "CMDbatNE;",    "Return V != B" ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(v:sqlblob, b:bat[:sqlblob], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return V != B" ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return V != B with candidates 
list"    ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return V != B 
with candidates list"    ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:str, b:bat[:str]):bat[:bit] ",    
"CMDbatNE;",    "Return V != B" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:str, b:bat[:str], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return V != B" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:str, b:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return V != B with candidates 
list"    ]
@@ -4122,6 +4134,8 @@ Ready.
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sht], b2:bat[:lng], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B1 < B2 with 
candidates list"   ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sht], 
b2:bat[:sht]):bat[:bit] ",     "CMDbatLT;",    "Return B1 < B2"        ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B1 < B2 with 
candidates list"   ]
+[ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sqlblob], 
b2:bat[:sqlblob]):bat[:bit] ",     "CMDbatLT;",    "Return B1 < B2"        ]
+[ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B1 < B2 with 
candidates list"   ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:str], 
b2:bat[:str]):bat[:bit] ",     "CMDbatLT;",    "Return B1 < B2"        ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:str], b2:bat[:str], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B1 < B2 with 
candidates list"   ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:timestamp], 
b2:bat[:timestamp]):bat[:bit] ", "CMDbatLT;",    "Return B1 < B2"        ]
@@ -4207,6 +4221,8 @@ Ready.
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sht], v:lng, 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B < V with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sht], v:sht):bat[:bit] ",     
"CMDbatLT;",    "Return B < V"  ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sht], v:sht, 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B < V with candidates 
list"     ]
+[ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sqlblob], 
v:sqlblob):bat[:bit] ",     "CMDbatLT;",    "Return B < V"  ]
+[ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B < V with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:str], v:str):bat[:bit] ",     
"CMDbatLT;",    "Return B < V"  ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:str], v:str, 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B < V with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:timestamp], 
v:timestamp):bat[:bit] ", "CMDbatLT;",    "Return B < V"  ]
@@ -4291,6 +4307,8 @@ Ready.
 [ "batcalc",   "<",    "pattern batcalc.<(v:sht, b:bat[:lng], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return V < B with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:sht, b:bat[:sht]):bat[:bit] ",     
"CMDbatLT;",    "Return V < B"  ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:sht, b:bat[:sht], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return V < B with candidates 
list"     ]
+[ "batcalc",   "<",    "pattern batcalc.<(v:sqlblob, 
b:bat[:sqlblob]):bat[:bit] ",     "CMDbatLT;",    "Return V < B"  ]
+[ "batcalc",   "<",    "pattern batcalc.<(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return V < B with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:str, b:bat[:str]):bat[:bit] ",     
"CMDbatLT;",    "Return V < B"  ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:str, b:bat[:str], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return V < B with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:timestamp, 
b:bat[:timestamp]):bat[:bit] ", "CMDbatLT;",    "Return V < B"  ]
@@ -4472,6 +4490,8 @@ Ready.
 [ "batcalc",   "<=",   "pattern batcalc.<=(b1:bat[:sht], b2:bat[:lng], 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return B1 <= B2 with 
candidates list"  ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b1:bat[:sht], 
b2:bat[:sht]):bat[:bit] ",    "CMDbatLE;",    "Return B1 <= B2"       ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return B1 <= B2 with 
candidates list"  ]
+[ "batcalc",   "<=",   "pattern batcalc.<=(b1:bat[:sqlblob], 
b2:bat[:sqlblob]):bat[:bit] ",    "CMDbatLE;",    "Return B1 <= B2"       ]
+[ "batcalc",   "<=",   "pattern batcalc.<=(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return B1 <= B2 with 
candidates list"  ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b1:bat[:str], 
b2:bat[:str]):bat[:bit] ",    "CMDbatLE;",    "Return B1 <= B2"       ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b1:bat[:str], b2:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return B1 <= B2 with 
candidates list"  ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b1:bat[:timestamp], 
b2:bat[:timestamp]):bat[:bit] ",        "CMDbatLE;",    "Return B1 <= B2"       
]
@@ -4557,6 +4577,8 @@ Ready.
 [ "batcalc",   "<=",   "pattern batcalc.<=(b:bat[:sht], v:lng, 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return B <= V with candidates 
list"    ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b:bat[:sht], v:sht):bat[:bit] ",    
"CMDbatLE;",    "Return B <= V" ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b:bat[:sht], v:sht, 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return B <= V with candidates 
list"    ]
+[ "batcalc",   "<=",   "pattern batcalc.<=(b:bat[:sqlblob], 
v:sqlblob):bat[:bit] ",    "CMDbatLE;",    "Return B <= V" ]
+[ "batcalc",   "<=",   "pattern batcalc.<=(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return B <= V with candidates 
list"    ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b:bat[:str], v:str):bat[:bit] ",    
"CMDbatLE;",    "Return B <= V" ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b:bat[:str], v:str, 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return B <= V with candidates 
list"    ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(b:bat[:timestamp], 
v:timestamp):bat[:bit] ",        "CMDbatLE;",    "Return B <= V" ]
@@ -4641,6 +4663,8 @@ Ready.
 [ "batcalc",   "<=",   "pattern batcalc.<=(v:sht, b:bat[:lng], 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return V <= B with candidates 
list"    ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(v:sht, b:bat[:sht]):bat[:bit] ",    
"CMDbatLE;",    "Return V <= B" ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(v:sht, b:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return V <= B with candidates 
list"    ]
+[ "batcalc",   "<=",   "pattern batcalc.<=(v:sqlblob, 
b:bat[:sqlblob]):bat[:bit] ",    "CMDbatLE;",    "Return V <= B" ]
+[ "batcalc",   "<=",   "pattern batcalc.<=(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return V <= B with candidates 
list"    ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(v:str, b:bat[:str]):bat[:bit] ",    
"CMDbatLE;",    "Return V <= B" ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(v:str, b:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatLE;",    "Return V <= B with candidates 
list"    ]
 [ "batcalc",   "<=",   "pattern batcalc.<=(v:timestamp, 
b:bat[:timestamp]):bat[:bit] ",        "CMDbatLE;",    "Return V <= B" ]
@@ -4807,6 +4831,10 @@ Ready.
 [ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:sht], b2:bat[:sht], 
nil_matches:bit):bat[:bit] ",   "CMDbatEQ;",    "Return B1 == B2"       ]
 [ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatEQ;",    "Return B1 == B2 with 
candidates list"  ]
 [ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatEQ;",    "Return B1 == 
B2 with candidates list"  ]
+[ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:sqlblob], 
b2:bat[:sqlblob]):bat[:bit] ",    "CMDbatEQ;",    "Return B1 == B2"       ]
+[ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:sqlblob], b2:bat[:sqlblob], 
nil_matches:bit):bat[:bit] ",   "CMDbatEQ;",    "Return B1 == B2"       ]
+[ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatEQ;",    "Return B1 == B2 with 
candidates list"  ]
+[ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatEQ;",    "Return B1 == 
B2 with candidates list"  ]
 [ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:str], 
b2:bat[:str]):bat[:bit] ",    "CMDbatEQ;",    "Return B1 == B2"       ]
 [ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:str], b2:bat[:str], 
nil_matches:bit):bat[:bit] ",   "CMDbatEQ;",    "Return B1 == B2"       ]
 [ "batcalc",   "==",   "pattern batcalc.==(b1:bat[:str], b2:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatEQ;",    "Return B1 == B2 with 
candidates list"  ]
@@ -4977,6 +5005,10 @@ Ready.
 [ "batcalc",   "==",   "pattern batcalc.==(b:bat[:sht], v:sht, 
nil_matches:bit):bat[:bit] ",   "CMDbatEQ;",    "Return B == V" ]
 [ "batcalc",   "==",   "pattern batcalc.==(b:bat[:sht], v:sht, 
s:bat[:oid]):bat[:bit] ",       "CMDbatEQ;",    "Return B == V with candidates 
list"    ]
 [ "batcalc",   "==",   "pattern batcalc.==(b:bat[:sht], v:sht, s:bat[:oid], 
nil_matches:bit):bat[:bit] ",      "CMDbatEQ;",    "Return B == V with 
candidates list"    ]
+[ "batcalc",   "==",   "pattern batcalc.==(b:bat[:sqlblob], 
v:sqlblob):bat[:bit] ",    "CMDbatEQ;",    "Return B == V" ]
+[ "batcalc",   "==",   "pattern batcalc.==(b:bat[:sqlblob], v:sqlblob, 
nil_matches:bit):bat[:bit] ",   "CMDbatEQ;",    "Return B == V" ]
+[ "batcalc",   "==",   "pattern batcalc.==(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid]):bat[:bit] ",       "CMDbatEQ;",    "Return B == V with candidates 
list"    ]
+[ "batcalc",   "==",   "pattern batcalc.==(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatEQ;",    "Return B == V 
with candidates list"    ]
 [ "batcalc",   "==",   "pattern batcalc.==(b:bat[:str], v:str):bat[:bit] ",    
"CMDbatEQ;",    "Return B == V" ]
 [ "batcalc",   "==",   "pattern batcalc.==(b:bat[:str], v:str, 
nil_matches:bit):bat[:bit] ",   "CMDbatEQ;",    "Return B == V" ]
 [ "batcalc",   "==",   "pattern batcalc.==(b:bat[:str], v:str, 
s:bat[:oid]):bat[:bit] ",       "CMDbatEQ;",    "Return B == V with candidates 
list"    ]
@@ -5145,6 +5177,10 @@ Ready.
 [ "batcalc",   "==",   "pattern batcalc.==(v:sht, b:bat[:sht], 
nil_matches:bit):bat[:bit] ",   "CMDbatEQ;",    "Return V == B" ]
 [ "batcalc",   "==",   "pattern batcalc.==(v:sht, b:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatEQ;",    "Return V == B with candidates 
list"    ]
 [ "batcalc",   "==",   "pattern batcalc.==(v:sht, b:bat[:sht], s:bat[:oid], 
nil_matches:bit):bat[:bit] ",      "CMDbatEQ;",    "Return V == B with 
candidates list"    ]
+[ "batcalc",   "==",   "pattern batcalc.==(v:sqlblob, 
b:bat[:sqlblob]):bat[:bit] ",    "CMDbatEQ;",    "Return V == B" ]
+[ "batcalc",   "==",   "pattern batcalc.==(v:sqlblob, b:bat[:sqlblob], 
nil_matches:bit):bat[:bit] ",   "CMDbatEQ;",    "Return V == B" ]
+[ "batcalc",   "==",   "pattern batcalc.==(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatEQ;",    "Return V == B with candidates 
list"    ]
+[ "batcalc",   "==",   "pattern batcalc.==(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatEQ;",    "Return V == B 
with candidates list"    ]
 [ "batcalc",   "==",   "pattern batcalc.==(v:str, b:bat[:str]):bat[:bit] ",    
"CMDbatEQ;",    "Return V == B" ]
 [ "batcalc",   "==",   "pattern batcalc.==(v:str, b:bat[:str], 
nil_matches:bit):bat[:bit] ",   "CMDbatEQ;",    "Return V == B" ]
 [ "batcalc",   "==",   "pattern batcalc.==(v:str, b:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatEQ;",    "Return V == B with candidates 
list"    ]
@@ -5234,6 +5270,8 @@ Ready.
 [ "batcalc",   ">",    "pattern batcalc.>(b1:bat[:sht], b2:bat[:lng], 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return B1 > B2 with 
candidates list"   ]
 [ "batcalc",   ">",    "pattern batcalc.>(b1:bat[:sht], 
b2:bat[:sht]):bat[:bit] ",     "CMDbatGT;",    "Return B1 > B2"        ]
 [ "batcalc",   ">",    "pattern batcalc.>(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return B1 > B2 with 
candidates list"   ]
+[ "batcalc",   ">",    "pattern batcalc.>(b1:bat[:sqlblob], 
b2:bat[:sqlblob]):bat[:bit] ",     "CMDbatGT;",    "Return B1 > B2"        ]
+[ "batcalc",   ">",    "pattern batcalc.>(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return B1 > B2 with 
candidates list"   ]
 [ "batcalc",   ">",    "pattern batcalc.>(b1:bat[:str], 
b2:bat[:str]):bat[:bit] ",     "CMDbatGT;",    "Return B1 > B2"        ]
 [ "batcalc",   ">",    "pattern batcalc.>(b1:bat[:str], b2:bat[:str], 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return B1 > B2 with 
candidates list"   ]
 [ "batcalc",   ">",    "pattern batcalc.>(b1:bat[:timestamp], 
b2:bat[:timestamp]):bat[:bit] ", "CMDbatGT;",    "Return B1 > B2"        ]
@@ -5319,6 +5357,8 @@ Ready.
 [ "batcalc",   ">",    "pattern batcalc.>(b:bat[:sht], v:lng, 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return B > V with candidates 
list"     ]
 [ "batcalc",   ">",    "pattern batcalc.>(b:bat[:sht], v:sht):bat[:bit] ",     
"CMDbatGT;",    "Return B > V"  ]
 [ "batcalc",   ">",    "pattern batcalc.>(b:bat[:sht], v:sht, 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return B > V with candidates 
list"     ]
+[ "batcalc",   ">",    "pattern batcalc.>(b:bat[:sqlblob], 
v:sqlblob):bat[:bit] ",     "CMDbatGT;",    "Return B > V"  ]
+[ "batcalc",   ">",    "pattern batcalc.>(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return B > V with candidates 
list"     ]
 [ "batcalc",   ">",    "pattern batcalc.>(b:bat[:str], v:str):bat[:bit] ",     
"CMDbatGT;",    "Return B > V"  ]
 [ "batcalc",   ">",    "pattern batcalc.>(b:bat[:str], v:str, 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return B > V with candidates 
list"     ]
 [ "batcalc",   ">",    "pattern batcalc.>(b:bat[:timestamp], 
v:timestamp):bat[:bit] ", "CMDbatGT;",    "Return B > V"  ]
@@ -5403,6 +5443,8 @@ Ready.
 [ "batcalc",   ">",    "pattern batcalc.>(v:sht, b:bat[:lng], 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return V > B with candidates 
list"     ]
 [ "batcalc",   ">",    "pattern batcalc.>(v:sht, b:bat[:sht]):bat[:bit] ",     
"CMDbatGT;",    "Return V > B"  ]
 [ "batcalc",   ">",    "pattern batcalc.>(v:sht, b:bat[:sht], 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return V > B with candidates 
list"     ]
+[ "batcalc",   ">",    "pattern batcalc.>(v:sqlblob, 
b:bat[:sqlblob]):bat[:bit] ",     "CMDbatGT;",    "Return V > B"  ]
+[ "batcalc",   ">",    "pattern batcalc.>(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return V > B with candidates 
list"     ]
 [ "batcalc",   ">",    "pattern batcalc.>(v:str, b:bat[:str]):bat[:bit] ",     
"CMDbatGT;",    "Return V > B"  ]
 [ "batcalc",   ">",    "pattern batcalc.>(v:str, b:bat[:str], 
s:bat[:oid]):bat[:bit] ",        "CMDbatGT;",    "Return V > B with candidates 
list"     ]
 [ "batcalc",   ">",    "pattern batcalc.>(v:timestamp, 
b:bat[:timestamp]):bat[:bit] ", "CMDbatGT;",    "Return V > B"  ]
@@ -5488,6 +5530,8 @@ Ready.
 [ "batcalc",   ">=",   "pattern batcalc.>=(b1:bat[:sht], b2:bat[:lng], 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return B1 >= B2 with 
candidates list"  ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b1:bat[:sht], 
b2:bat[:sht]):bat[:bit] ",    "CMDbatGE;",    "Return B1 >= B2"       ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return B1 >= B2 with 
candidates list"  ]
+[ "batcalc",   ">=",   "pattern batcalc.>=(b1:bat[:sqlblob], 
b2:bat[:sqlblob]):bat[:bit] ",    "CMDbatGE;",    "Return B1 >= B2"       ]
+[ "batcalc",   ">=",   "pattern batcalc.>=(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return B1 >= B2 with 
candidates list"  ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b1:bat[:str], 
b2:bat[:str]):bat[:bit] ",    "CMDbatGE;",    "Return B1 >= B2"       ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b1:bat[:str], b2:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return B1 >= B2 with 
candidates list"  ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b1:bat[:timestamp], 
b2:bat[:timestamp]):bat[:bit] ",        "CMDbatGE;",    "Return B1 >= B2"       
]
@@ -5573,6 +5617,8 @@ Ready.
 [ "batcalc",   ">=",   "pattern batcalc.>=(b:bat[:sht], v:lng, 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return B >= V with candidates 
list"    ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b:bat[:sht], v:sht):bat[:bit] ",    
"CMDbatGE;",    "Return B >= V" ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b:bat[:sht], v:sht, 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return B >= V with candidates 
list"    ]
+[ "batcalc",   ">=",   "pattern batcalc.>=(b:bat[:sqlblob], 
v:sqlblob):bat[:bit] ",    "CMDbatGE;",    "Return B >= V" ]
+[ "batcalc",   ">=",   "pattern batcalc.>=(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return B >= V with candidates 
list"    ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b:bat[:str], v:str):bat[:bit] ",    
"CMDbatGE;",    "Return B >= V" ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b:bat[:str], v:str, 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return B >= V with candidates 
list"    ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(b:bat[:timestamp], 
v:timestamp):bat[:bit] ",        "CMDbatGE;",    "Return B >= V" ]
@@ -5657,6 +5703,8 @@ Ready.
 [ "batcalc",   ">=",   "pattern batcalc.>=(v:sht, b:bat[:lng], 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return V >= B with candidates 
list"    ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(v:sht, b:bat[:sht]):bat[:bit] ",    
"CMDbatGE;",    "Return V >= B" ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(v:sht, b:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return V >= B with candidates 
list"    ]
+[ "batcalc",   ">=",   "pattern batcalc.>=(v:sqlblob, 
b:bat[:sqlblob]):bat[:bit] ",    "CMDbatGE;",    "Return V >= B" ]
+[ "batcalc",   ">=",   "pattern batcalc.>=(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return V >= B with candidates 
list"    ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(v:str, b:bat[:str]):bat[:bit] ",    
"CMDbatGE;",    "Return V >= B" ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(v:str, b:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatGE;",    "Return V >= B with candidates 
list"    ]
 [ "batcalc",   ">=",   "pattern batcalc.>=(v:timestamp, 
b:bat[:timestamp]):bat[:bit] ",        "CMDbatGE;",    "Return V >= B" ]
@@ -9077,7 +9125,8 @@ Ready.
 [ "blob",      "#write",       "command blob.#write():void ",  "BLOBwrite;",   
""      ]
 [ "blob",      "blob", "command blob.blob(s:blob):blob ",      
"BLOBblob_blob;",       "Noop routine." ]
 [ "blob",      "blob", "command blob.blob(s:str):blob ",       
"BLOBblob_fromstr;",    ""      ]
-[ "blob",      "nitems",       "command blob.nitems(b:blob):int ",     
"BLOBnitems;",  " get the number of bytes in this blob."        ]
+[ "blob",      "nitems",       "command blob.nitems(b:blob):int ",     
"BLOBnitems;",  "get the number of bytes in this blob." ]
+[ "blob",      "nitems",       "command blob.nitems(b:sqlblob):int ",  
"BLOBnitems;",  "get the number of bytes in this blob." ]
 [ "blob",      "prelude",      "command blob.prelude():void ", "BLOBprelude;", 
""      ]
 [ "blob",      "toblob",       "command blob.toblob(v:str):blob ",     
"BLOBtoblob;",  "store a string as a blob."     ]
 [ "blob",      "tostring",     "command blob.tostring(v:blob):str ",   
"BLOBfromblob;",        "get the bytes from blob as a string, till\n\tthe first 
0 byte or the end of the blob"  ]
@@ -9165,6 +9214,8 @@ Ready.
 [ "calc",      "!=",   "pattern calc.!=(v1:sht, v2:lng, nil_matches:bit):bit 
",        "CMDvarNE;",    "Return V1 != V2"       ]
 [ "calc",      "!=",   "pattern calc.!=(v1:sht, v2:sht):bit ", "CMDvarNE;",    
"Return V1 != V2"       ]
 [ "calc",      "!=",   "pattern calc.!=(v1:sht, v2:sht, nil_matches:bit):bit 
",        "CMDvarNE;",    "Return V1 != V2"       ]
+[ "calc",      "!=",   "pattern calc.!=(v1:sqlblob, v2:sqlblob):bit ", 
"CMDvarNE;",    "Return V1 != V2"       ]
+[ "calc",      "!=",   "pattern calc.!=(v1:sqlblob, v2:sqlblob, 
nil_matches:bit):bit ",        "CMDvarNE;",    "Return V1 != V2"       ]
 [ "calc",      "!=",   "pattern calc.!=(v1:str, v2:str):bit ", "CMDvarNE;",    
"Return V1 != V2"       ]
 [ "calc",      "!=",   "pattern calc.!=(v1:str, v2:str, nil_matches:bit):bit 
",        "CMDvarNE;",    "Return V1 != V2"       ]
 [ "calc",      "!=",   "pattern calc.!=(v:date, w:date):bit ", "CMDvarNE;",    
"Equality of two dates" ]
@@ -9703,6 +9754,7 @@ Ready.
 [ "calc",      "<",    "pattern calc.<(v1:sht, v2:int):bit ",  "CMDvarLT;",    
"Return V1 < V2"        ]
 [ "calc",      "<",    "pattern calc.<(v1:sht, v2:lng):bit ",  "CMDvarLT;",    
"Return V1 < V2"        ]
 [ "calc",      "<",    "pattern calc.<(v1:sht, v2:sht):bit ",  "CMDvarLT;",    
"Return V1 < V2"        ]
+[ "calc",      "<",    "pattern calc.<(v1:sqlblob, v2:sqlblob):bit ",  
"CMDvarLT;",    "Return V1 < V2"        ]
 [ "calc",      "<",    "pattern calc.<(v1:str, v2:str):bit ",  "CMDvarLT;",    
"Return V1 < V2"        ]
 [ "calc",      "<",    "pattern calc.<(v:date, w:date):bit ",  "CMDvarLT;",    
"Equality of two dates" ]
 [ "calc",      "<",    "pattern calc.<(v:daytime, w:daytime):bit ",    
"CMDvarLT;",    "Equality of two daytimes"      ]
@@ -9764,6 +9816,7 @@ Ready.
 [ "calc",      "<=",   "pattern calc.<=(v1:sht, v2:int):bit ", "CMDvarLE;",    
"Return V1 <= V2"       ]
 [ "calc",      "<=",   "pattern calc.<=(v1:sht, v2:lng):bit ", "CMDvarLE;",    
"Return V1 <= V2"       ]
 [ "calc",      "<=",   "pattern calc.<=(v1:sht, v2:sht):bit ", "CMDvarLE;",    
"Return V1 <= V2"       ]
+[ "calc",      "<=",   "pattern calc.<=(v1:sqlblob, v2:sqlblob):bit ", 
"CMDvarLE;",    "Return V1 <= V2"       ]
 [ "calc",      "<=",   "pattern calc.<=(v1:str, v2:str):bit ", "CMDvarLE;",    
"Return V1 <= V2"       ]
 [ "calc",      "<=",   "pattern calc.<=(v:date, w:date):bit ", "CMDvarLE;",    
"Equality of two dates" ]
 [ "calc",      "<=",   "pattern calc.<=(v:daytime, w:daytime):bit ",   
"CMDvarLE;",    "Equality of two daytimes"      ]
@@ -9849,6 +9902,8 @@ Ready.
 [ "calc",      "==",   "pattern calc.==(v1:sht, v2:lng, nil_matches:bit):bit 
",        "CMDvarEQ;",    "Return V1 == V2"       ]
 [ "calc",      "==",   "pattern calc.==(v1:sht, v2:sht):bit ", "CMDvarEQ;",    
"Return V1 == V2"       ]
 [ "calc",      "==",   "pattern calc.==(v1:sht, v2:sht, nil_matches:bit):bit 
",        "CMDvarEQ;",    "Return V1 == V2"       ]
+[ "calc",      "==",   "pattern calc.==(v1:sqlblob, v2:sqlblob):bit ", 
"CMDvarEQ;",    "Return V1 == V2"       ]
+[ "calc",      "==",   "pattern calc.==(v1:sqlblob, v2:sqlblob, 
nil_matches:bit):bit ",        "CMDvarEQ;",    "Return V1 == V2"       ]
 [ "calc",      "==",   "pattern calc.==(v1:str, v2:str):bit ", "CMDvarEQ;",    
"Return V1 == V2"       ]
 [ "calc",      "==",   "pattern calc.==(v1:str, v2:str, nil_matches:bit):bit 
",        "CMDvarEQ;",    "Return V1 == V2"       ]
 [ "calc",      "==",   "pattern calc.==(v:date, w:date):bit ", "CMDvarEQ;",    
"Equality of two dates" ]
@@ -9898,6 +9953,7 @@ Ready.
 [ "calc",      ">",    "pattern calc.>(v1:sht, v2:int):bit ",  "CMDvarGT;",    
"Return V1 > V2"        ]
 [ "calc",      ">",    "pattern calc.>(v1:sht, v2:lng):bit ",  "CMDvarGT;",    
"Return V1 > V2"        ]
 [ "calc",      ">",    "pattern calc.>(v1:sht, v2:sht):bit ",  "CMDvarGT;",    
"Return V1 > V2"        ]
+[ "calc",      ">",    "pattern calc.>(v1:sqlblob, v2:sqlblob):bit ",  
"CMDvarGT;",    "Return V1 > V2"        ]
 [ "calc",      ">",    "pattern calc.>(v1:str, v2:str):bit ",  "CMDvarGT;",    
"Return V1 > V2"        ]
 [ "calc",      ">",    "pattern calc.>(v:date, w:date):bit ",  "CMDvarGT;",    
"Equality of two dates" ]
 [ "calc",      ">",    "pattern calc.>(v:daytime, w:daytime):bit ",    
"CMDvarGT;",    "Equality of two daytimes"      ]
@@ -9943,6 +9999,7 @@ Ready.
 [ "calc",      ">=",   "pattern calc.>=(v1:sht, v2:int):bit ", "CMDvarGE;",    
"Return V1 >= V2"       ]
 [ "calc",      ">=",   "pattern calc.>=(v1:sht, v2:lng):bit ", "CMDvarGE;",    
"Return V1 >= V2"       ]
 [ "calc",      ">=",   "pattern calc.>=(v1:sht, v2:sht):bit ", "CMDvarGE;",    
"Return V1 >= V2"       ]
+[ "calc",      ">=",   "pattern calc.>=(v1:sqlblob, v2:sqlblob):bit ", 
"CMDvarGE;",    "Return V1 >= V2"       ]
 [ "calc",      ">=",   "pattern calc.>=(v1:str, v2:str):bit ", "CMDvarGE;",    
"Return V1 >= V2"       ]
 [ "calc",      ">=",   "pattern calc.>=(v:date, w:date):bit ", "CMDvarGE;",    
"Equality of two dates" ]
 [ "calc",      ">=",   "pattern calc.>=(v:daytime, w:daytime):bit ",   
"CMDvarGE;",    "Equality of two daytimes"      ]
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
@@ -997,6 +997,10 @@ Ready.
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sht], b2:bat[:sht], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B1 != B2"       ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B1 != B2 with 
candidates list"  ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return B1 != 
B2 with candidates list"  ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sqlblob], 
b2:bat[:sqlblob]):bat[:bit] ",    "CMDbatNE;",    "Return B1 != B2"       ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sqlblob], b2:bat[:sqlblob], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B1 != B2"       ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B1 != B2 with 
candidates list"  ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return B1 != 
B2 with candidates list"  ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:str], 
b2:bat[:str]):bat[:bit] ",    "CMDbatNE;",    "Return B1 != B2"       ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:str], b2:bat[:str], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B1 != B2"       ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b1:bat[:str], b2:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B1 != B2 with 
candidates list"  ]
@@ -1219,6 +1223,10 @@ Ready.
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sht], v:sht, 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B != V" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sht], v:sht, 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B != V with candidates 
list"    ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sht], v:sht, s:bat[:oid], 
nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return B != V with 
candidates list"    ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sqlblob], 
v:sqlblob):bat[:bit] ",    "CMDbatNE;",    "Return B != V" ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sqlblob], v:sqlblob, 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B != V" ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B != V with candidates 
list"    ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return B != V 
with candidates list"    ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:str], v:str):bat[:bit] ",    
"CMDbatNE;",    "Return B != V" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:str], v:str, 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return B != V" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(b:bat[:str], v:str, 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return B != V with candidates 
list"    ]
@@ -1439,6 +1447,10 @@ Ready.
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:sht, b:bat[:sht], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return V != B" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:sht, b:bat[:sht], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return V != B with candidates 
list"    ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:sht, b:bat[:sht], s:bat[:oid], 
nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return V != B with 
candidates list"    ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(v:sqlblob, 
b:bat[:sqlblob]):bat[:bit] ",    "CMDbatNE;",    "Return V != B" ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(v:sqlblob, b:bat[:sqlblob], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return V != B" ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return V != B with candidates 
list"    ]
+[ "batcalc",   "!=",   "pattern batcalc.!=(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid], nil_matches:bit):bat[:bit] ",      "CMDbatNE;",    "Return V != B 
with candidates list"    ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:str, b:bat[:str]):bat[:bit] ",    
"CMDbatNE;",    "Return V != B" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:str, b:bat[:str], 
nil_matches:bit):bat[:bit] ",   "CMDbatNE;",    "Return V != B" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:str, b:bat[:str], 
s:bat[:oid]):bat[:bit] ",       "CMDbatNE;",    "Return V != B with candidates 
list"    ]
@@ -6012,6 +6024,8 @@ Ready.
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sht], b2:bat[:lng], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B1 < B2 with 
candidates list"   ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sht], 
b2:bat[:sht]):bat[:bit] ",     "CMDbatLT;",    "Return B1 < B2"        ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B1 < B2 with 
candidates list"   ]
+[ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sqlblob], 
b2:bat[:sqlblob]):bat[:bit] ",     "CMDbatLT;",    "Return B1 < B2"        ]
+[ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:sqlblob], b2:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B1 < B2 with 
candidates list"   ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:str], 
b2:bat[:str]):bat[:bit] ",     "CMDbatLT;",    "Return B1 < B2"        ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:str], b2:bat[:str], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B1 < B2 with 
candidates list"   ]
 [ "batcalc",   "<",    "pattern batcalc.<(b1:bat[:timestamp], 
b2:bat[:timestamp]):bat[:bit] ", "CMDbatLT;",    "Return B1 < B2"        ]
@@ -6123,6 +6137,8 @@ Ready.
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sht], v:lng, 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B < V with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sht], v:sht):bat[:bit] ",     
"CMDbatLT;",    "Return B < V"  ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sht], v:sht, 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B < V with candidates 
list"     ]
+[ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sqlblob], 
v:sqlblob):bat[:bit] ",     "CMDbatLT;",    "Return B < V"  ]
+[ "batcalc",   "<",    "pattern batcalc.<(b:bat[:sqlblob], v:sqlblob, 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B < V with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:str], v:str):bat[:bit] ",     
"CMDbatLT;",    "Return B < V"  ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:str], v:str, 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return B < V with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(b:bat[:timestamp], 
v:timestamp):bat[:bit] ", "CMDbatLT;",    "Return B < V"  ]
@@ -6233,6 +6249,8 @@ Ready.
 [ "batcalc",   "<",    "pattern batcalc.<(v:sht, b:bat[:lng], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return V < B with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:sht, b:bat[:sht]):bat[:bit] ",     
"CMDbatLT;",    "Return V < B"  ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:sht, b:bat[:sht], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return V < B with candidates 
list"     ]
+[ "batcalc",   "<",    "pattern batcalc.<(v:sqlblob, 
b:bat[:sqlblob]):bat[:bit] ",     "CMDbatLT;",    "Return V < B"  ]
+[ "batcalc",   "<",    "pattern batcalc.<(v:sqlblob, b:bat[:sqlblob], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return V < B with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:str, b:bat[:str]):bat[:bit] ",     
"CMDbatLT;",    "Return V < B"  ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:str, b:bat[:str], 
s:bat[:oid]):bat[:bit] ",        "CMDbatLT;",    "Return V < B with candidates 
list"     ]
 [ "batcalc",   "<",    "pattern batcalc.<(v:timestamp, 
b:bat[:timestamp]):bat[:bit] ", "CMDbatLT;",    "Return V < B"  ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to