Changeset: b375ba69e94c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b375ba69e94c
Added Files:
        
sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.err.Windows
        
sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.out.Windows
        sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err
        sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.out
        sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.sql
        
sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.err
        
sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.out
        
sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.sql
        
sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.err
        
sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.out
        sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.sql
        
sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.err
        
sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.out
        sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.err
        sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.out
Modified Files:
        NT/mkgeomwxs.py
        NT/mkodbcwxs.py
        NT/mksqlwxs.py
        buildtools/conf/monetdb.ico
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/dump.c
        clients/mapiclient/mclient.c
        clients/mapiclient/mhelp.c
        clients/mapiclient/mhelp.h
        clients/mapiclient/tomograph.c
        clients/odbc/driver/SQLColumnPrivileges.c
        clients/odbc/driver/SQLColumns.c
        clients/odbc/driver/SQLExecute.c
        clients/odbc/driver/SQLSpecialColumns.c
        gdk/gdk_bbp.c
        gdk/gdk_join.c
        gdk/gdk_logger.c
        gdk/gdk_private.h
        gdk/gdk_search.c
        gdk/gdk_select.c
        geom/monetdb5/geom_upgrade.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_parser.c
        monetdb5/modules/mal/00_language_hge.mal
        monetdb5/modules/mal/manifold.c
        monetdb5/modules/mal/manifold.h
        monetdb5/optimizer/Tests/inline06.stable.out
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_support.c
        sql/backends/monet5/Tests/pyapi19.stable.err
        sql/backends/monet5/Tests/pyapi19.stable.out
        sql/backends/monet5/Tests/pyapi25.stable.err
        sql/backends/monet5/Tests/pyapi25.stable.err.Windows
        sql/backends/monet5/Tests/pyapi25.stable.out
        sql/backends/monet5/Tests/pyapi29.stable.err
        sql/backends/monet5/Tests/pyapi29.stable.out
        sql/backends/monet5/UDF/pyapi/connection.c
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/backends/monet5/UDF/pyapi/pyapi.mal
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_19.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_19.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_29.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_29.stable.out
        sql/backends/monet5/UDF/pyapi3/pyapi3.mal
        sql/backends/monet5/sql_assert.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_statistics.c
        sql/backends/monet5/sql_upgrades.c
        sql/common/sql_types.c
        sql/storage/store.c
        sql/test/BugTracker-2010/Tests/count-and-not.Bug-2663.stable.out
        sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
        
sql/test/BugTracker-2010/Tests/not-in-union-except-union.Bug-2577.stable.out
        sql/test/BugTracker-2017/Tests/All
        sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.sql
        sql/test/BugTracker-2017/Tests/nestedoperators.Bug-6292.stable.err
        sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out.32bit
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/check.stable.out
        sql/test/emptydb-upgrade/Tests/check.stable.out.32bit
        sql/test/emptydb-upgrade/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/emptydb/Tests/check.SQL.py
        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/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check2.stable.out.int128
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check3.stable.out.int128
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check4.stable.out.int128
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/check5.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.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.int128
Branch: jitudf
Log Message:

Merge with default.


diffs (truncated from 34824 to 300 lines):

diff --git a/NT/mkgeomwxs.py b/NT/mkgeomwxs.py
--- a/NT/mkgeomwxs.py
+++ b/NT/mkgeomwxs.py
@@ -46,7 +46,11 @@ def main():
     print(r'      <RegistrySearch Id="MonetDBRegistry" 
Key="Software\[Manufacturer]\MonetDB5" Name="InstallPath" Root="HKLM" 
Type="raw"/>')
     print(r'    </Property>')
     print(r'    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/>')
+    print(r'    <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>')
     print(r'    <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>')
+    print(r'    <Condition Message="MonetDB5-SQL needs to be installed 
first.">')
+    print(r'      INSTALLDIR')
+    print(r'    </Condition>')
     print(r'    <Directory Id="TARGETDIR" Name="SourceDir">')
     print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="C:\Program Files (x86)\Common Files\Merge 
Modules\Microsoft_VC%s0_CRT_%s.msm"/>' % (vs, arch))
     print(r'      <Directory Id="%s">' % folder)
@@ -82,8 +86,46 @@ def main():
         print(r'      <ComponentRef Id="%s"/>' % f)
     print(r'      <MergeRef Id="VCRedist"/>')
     print(r'    </Feature>')
-    print(r'    <UIRef Id="WixUI_InstallDir"/>')
+    # the <UI> section was lifted from
+    # ...\SDK\wixui\WixUI_InstallDir.wxs and modified to remove the
+    # InstallDirDlg subsection
+    # see 
http://wixtoolset.org/documentation/manual/v3/wixui/wixui_customizations.html
+    print(r'    <UI Id="MyWixUI_InstallDir">')
+    print(r'      <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" 
Size="8"/>')
+    print(r'      <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" 
Size="12"/>')
+    print(r'      <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" 
Bold="yes"/>')
+    print(r'      <Property Id="DefaultUIFont" Value="WixUI_Font_Normal"/>')
+    print(r'      <Property Id="WixUI_Mode" Value="InstallDir"/>')
+    print(r'      <DialogRef Id="BrowseDlg"/>')
+    print(r'      <DialogRef Id="DiskCostDlg"/>')
+    print(r'      <DialogRef Id="ErrorDlg"/>')
+    print(r'      <DialogRef Id="FatalError"/>')
+    print(r'      <DialogRef Id="FilesInUse"/>')
+    print(r'      <DialogRef Id="MsiRMFilesInUse"/>')
+    print(r'      <DialogRef Id="PrepareDlg"/>')
+    print(r'      <DialogRef Id="ProgressDlg"/>')
+    print(r'      <DialogRef Id="ResumeDlg"/>')
+    print(r'      <DialogRef Id="UserExit"/>')
+    print(r'      <Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" 
Value="WixUIValidatePath" Order="3">1</Publish>')
+    print(r'      <Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" 
Value="InvalidDirDlg" Order="4"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND 
WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>')
+    print(r'      <Publish Dialog="ExitDialog" Control="Finish" 
Event="EndDialog" Value="Return" Order="999">1</Publish>')
+    print(r'      <Publish Dialog="WelcomeDlg" Control="Next" 
Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed</Publish>')
+    print(r'      <Publish Dialog="WelcomeDlg" Control="Next" 
Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>')
+    print(r'      <Publish Dialog="LicenseAgreementDlg" Control="Back" 
Event="NewDialog" Value="WelcomeDlg">1</Publish>')
+    print(r'      <Publish Dialog="LicenseAgreementDlg" Control="Next" 
Event="NewDialog" Value="VerifyReadyDlg">LicenseAccepted = "1"</Publish>')
+    print(r'      <Publish Dialog="VerifyReadyDlg" Control="Back" 
Event="NewDialog" Value="LicenseAgreementDlg" Order="1">NOT 
Installed</Publish>')
+    print(r'      <Publish Dialog="VerifyReadyDlg" Control="Back" 
Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT 
PATCH</Publish>')
+    print(r'      <Publish Dialog="VerifyReadyDlg" Control="Back" 
Event="NewDialog" Value="WelcomeDlg" Order="2">Installed AND PATCH</Publish>')
+    print(r'      <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" 
Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>')
+    print(r'      <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" 
Event="NewDialog" Value="VerifyReadyDlg">1</Publish>')
+    print(r'      <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" 
Event="NewDialog" Value="VerifyReadyDlg">1</Publish>')
+    print(r'      <Publish Dialog="MaintenanceTypeDlg" Control="Back" 
Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>')
+    print(r'      <Property Id="ARPNOMODIFY" Value="1"/>')
+    print(r'    </UI>')
+    print(r'    <UIRef Id="WixUI_Common"/>')
+    print(r'    <UIRef Id="MyWixUI_InstallDir"/>')
     print(r'    <UIRef Id="WixUI_ErrorProgressText"/>')
+    print(r'    <Icon Id="monetdb.ico" SourceFile="monetdb.ico"/>')
     print(r'  </Product>')
     print(r'</Wix>')
 
diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py
--- a/NT/mkodbcwxs.py
+++ b/NT/mkodbcwxs.py
@@ -46,6 +46,7 @@ def main():
     print(r'    <WixVariable Id="WixUIBannerBmp" Value="banner.bmp"/>')
     # print(r'    <WixVariable Id="WixUIDialogBmp" 
Value="backgroundRipple.bmp"/>')
     print(r'    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/>')
+    print(r'    <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>')
     print(r'    <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>')
     print(r'    <CustomAction Id="driverinstall" FileKey="odbcinstall" 
ExeCommand="/Install" Execute="deferred" Impersonate="no"/>')
     print(r'    <CustomAction Id="driveruninstall" FileKey="odbcinstall" 
ExeCommand="/Uninstall" Execute="deferred" Impersonate="no"/>')
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -49,6 +49,7 @@ def main():
     print(r'      <RegistrySearch Id="MonetDBRegistry" 
Key="Software\[Manufacturer]\[ProductName]" Name="InstallPath" Root="HKLM" 
Type="raw"/>')
     print(r'    </Property>')
     print(r'    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/>')
+    print(r'    <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>')
     print(r'    <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>')
     print(r'    <Directory Id="TARGETDIR" Name="SourceDir">')
     print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="C:\Program Files (x86)\Common Files\Merge 
Modules\Microsoft_VC%s0_CRT_%s.msm"/>' % (vs, arch))
diff --git a/buildtools/conf/monetdb.ico b/buildtools/conf/monetdb.ico
index 
fad690d3c111db967da3cf2e65cb6df338355064..1cd666db49c02edb3012cae55f0c257c359a9359
GIT binary patch
literal 16958
zc%1E8ZD?C%6n?TUO_QNj{1`H|L#7sC>MT~BN=s3h4z+EXqRjcj!G8IHqPBBwbGuE{
zsXsRM!~Kvsrh=6Tej%c=R5w&qL{P*p7O5W_qK!Idx}|x2&b>GFCQF)|w7GAm_bI0*
zP44@i^PKm*=lw{50Ds!s!QYF~+yR^ppqawAV8D9chYue<eE9I;!-o$a|1Gow^Qq?P
z_CqIn8nCJ-jBd!W=YNV=1lwa_?72CNvvm8S11&(XH;nfghjGTCN4GyZ5Uocuxu+>v
z#^P?>{^&q&1RE(zgmqy+w?AIvdf-IPfnRemh&5ofZlAmc`EQ!y&-oAy<1*boc?nqq
zIR7UdG5C^s5z_6KmmvSWIsRr0A{f@~lb7I__dEGB9)EL#bcSxfyaH=~dmevT55jm<
zw_jf2M&Q&!{+t5`V?dp5-#kLVSpyyGVViEpyn?KKMfeZt_R9+}&%=e>?K=2^Zr{8>
ztR72C@E_Ifn-^f7uPMf#bK+fPV3e{=4PvQoKWhcn`d3Tve_6$`gZz~(Y0Bq(Zwuqm
zqTBD;068vVo*yZ}f3sSPAo)%>V&Ie`lyCU?(`r3hb#ti(<i54&+_(65$us0QRD!=#
zvT8_<l*bRcg1CqrkCv!?hqy0_<enwJpIpS?$K3Nb0Sle&=Nhg97I5BwR&wkk*zSCu
z`Mum6<8m>G<KbKz?xAnN9K2_heJ#g*_cVDw(cOTi!gl1g(?t$UvNkTW?KJj8uwgEp
zr`v(~9GB-yaWA*;BfkSKV(^FRL!&$|ab!H7lQV{ABujwB>=gR)&a~Xa*eCbHrTS3)
zSVDeBUBqBa)(&aY*?`4z$H2J9yknb>SO_b~ZEQO3^l^We_3vTRf^~kCt6E?nnTx?n
z;AGa6*JQ8J9mFNIXKaDImyp-Uw7jix|1LM@rPh_}m$l$Ym-X<VdI$^cW&zr{lk%s;
z!5otsov~@7RpwpE^(}wg_sV)@@-on=2F&lr%7WZ>yT}2N!|d}Khi_*)YS00`-VzPr
z2C0`-^JN^n!?>LN8FGhNma{eH8M)_S+j^UO2j%Tb?DF|HT*e^Fc;&6B(IA%5hnJ@A
z9;lfYpVFsY!lSnVw=qYq<=@Mr^|+9)&yNLhG22`rdo#%;i5+!<&;Ra*vvbV5Be-;m
zhc%~vbL46zF?hvg46OMuh^w9L<qlfb9P&t3#Gwk2GhH+yS6&YPW&ds<!x*frl)EDa
z+g#SfTrPYlYe_*j0mh+2_T*BJW|8w4`+P!jC(mb|S!B;@`+Z-v+#NAkYsS%SE?9Oy
zRvU0-vHm!p&!peCGRGh1ym(V$B6GG(ULUgewL97Fu2?-TDB|Zilzp~+Ik&`T%H7fT
zc`o-zh57Ic^;V9_qB17tv0j}f-{0ExqgBo^te@w00w+!D+YnaM#utt}om9iPXSTTK
z*|PS^lNH9{-&n-)I{jUv?#F_vePAtPAARiWBlcT(hCeLzel|HDV}Bi*Y5S`R>O!eG
zl4d_+=3J3lJA|jGH!C@p590yqet!NKWfxz|oz)LE-(q&NW;`Cm3AN;&7l#3?pv~`R
z7>C)A6s6ZI-p9m&b&mEwsB&J+M8=sj>vi!igt`}D`ZGwszOG>`GR(P8Xh++b%MBFQ
zd?kBs10$4g>GNMz&XY-VZ)M;u%I#|8`2FtAymK8yi^;>lCfPSrKWm;h;^v+7i~Rc;
zxohHccNE!2`S9VxhYue<eE9I;qY5ZbF=6YBt+R1kx7lwr*}BozkJx&nt>3ftXc?U-
z)V2Ym&en$YMj+8-Ytv#jkPMmr)g?pXS~`@f+e4iSr33q^lZ_etEX|uTSjWfFmc><V
zDuq6U#(+X#Tp6Jx5Za*<fi%!0pT&(pCa%(;g%rEyc~A|r4;~B?;!T31AjVVF;#4*_
NDhY%vXKOh~{{Y9z6uSTb

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
@@ -456,13 +456,13 @@ Ready.
 [ "aggr",      "variancep",    "command aggr.variancep(b:bat[:lng], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRvariancep3_dbl;",  "Grouped 
tail variance (population/biased) on lng"      ]
 [ "aggr",      "variancep",    "command aggr.variancep(b:bat[:sht], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRvariancep3_dbl;",  "Grouped 
tail variance (population/biased) on sht"      ]
 [ "aggr",      "variancep",    "command aggr.variancep(b:bat[:any_2]):dbl ",   
"ALGvariancep;",        "Gives the variance of all tail values" ]
-[ "alarm",     "ctime",        "command alarm.ctime():str ",   "ALARMctime;",  
"Return the current time as a C-time string."   ]
+[ "alarm",     "ctime",        "unsafe command alarm.ctime():str ",    
"ALARMctime;",  "Return the current time as a C-time string."   ]
 [ "alarm",     "epilogue",     "command alarm.epilogue():void ",       
"ALARMepilogue;",       "Finalize alarm module."        ]
-[ "alarm",     "epoch",        "command alarm.epoch():int ",   "ALARMepoch;",  
"Return the current time as UNIX epoch."        ]
+[ "alarm",     "epoch",        "unsafe command alarm.epoch():int ",    
"ALARMepoch;",  "Return the current time as UNIX epoch."        ]
 [ "alarm",     "prelude",      "command alarm.prelude():void ",        
"ALARMprelude;",        "Initialize alarm module."      ]
-[ "alarm",     "sleep",        "command alarm.sleep(secs:int):void ",  
"ALARMsleep;",  "Sleep a few seconds"   ]
-[ "alarm",     "time", "command alarm.time():int ",    "ALARMtime;",   "Return 
time in milliseconds."  ]
-[ "alarm",     "usec", "command alarm.usec():lng ",    "ALARMusec;",   "Return 
time in microseconds."  ]
+[ "alarm",     "sleep",        "unsafe command alarm.sleep(secs:int):void ",   
"ALARMsleep;",  "Sleep a few seconds"   ]
+[ "alarm",     "time", "unsafe command alarm.time():int ",     "ALARMtime;",   
"Return time in milliseconds."  ]
+[ "alarm",     "usec", "unsafe command alarm.usec():lng ",     "ALARMusec;",   
"Return time in microseconds."  ]
 [ "algebra",   "antijoin",     "function algebra.antijoin(l:bat[:any_1], 
r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], nil_matches:bit, estimate:lng) 
(X_0:bat[:oid], X_1:bat[:oid]);",   "",     ""      ]
 [ "algebra",   "bandjoin",     "command algebra.bandjoin(l:bat[:any_1], 
r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], c1:any_1, c2:any_1, li:bit, hi:bit, 
estimate:lng) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGbandjoin;", "Band join: 
values in l and r match if r - c1 <[=] l <[=] r + c2"       ]
 [ "algebra",   "copy", "command algebra.copy(b:bat[:any_1]):bat[:any_1] ",     
"ALGcopy;",     "Returns physical copy of a BAT."       ]
@@ -6076,11 +6076,11 @@ Ready.
 [ "batmtime",  "seconds",      "command 
batmtime.seconds(d:bat[:daytime]):bat[:int] ", 
"MTIMEdaytime_extract_seconds_bulk;",   ""      ]
 [ "batmtime",  "sql_seconds",  "command 
batmtime.sql_seconds(d:bat[:daytime]):bat[:int] ",     
"MTIMEdaytime_extract_sql_seconds_bulk;",       ""      ]
 [ "batmtime",  "year", "command batmtime.year(d:bat[:date]):bat[:int] ",       
"MTIMEdate_extract_year_bulk;", ""      ]
-[ "batpyapi",  "eval", "pattern batpyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PYAPI2PyAPIevalStd;",  "Execute a simple Python 
script value"  ]
-[ "batpyapi",  "eval_aggr",    "pattern batpyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalAggr;", "grouped aggregates through 
Python"     ]
-[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str):any... ",     "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
-[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str, arg:any...):any... ", "PYAPI2PyAPIevalLoader;",       "loader 
functions through Python"       ]
-[ "batpyapi",  "subeval_aggr", "pattern batpyapi.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",        "PYAPI2PyAPIevalAggr;", "grouped 
aggregates through Python"     ]
+[ "batpyapi",  "eval", "unsafe pattern batpyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ", "PYAPI2PyAPIevalStd;",  "Execute a simple Python script 
value"  ]
+[ "batpyapi",  "eval_aggr",    "unsafe pattern batpyapi.eval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",    "PYAPI2PyAPIevalAggr;", "grouped aggregates 
through Python"     ]
+[ "batpyapi",  "eval_loader",  "unsafe pattern batpyapi.eval_loader(fptr:ptr, 
expr:str):any... ",      "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
+[ "batpyapi",  "eval_loader",  "unsafe pattern batpyapi.eval_loader(fptr:ptr, 
expr:str, arg:any...):any... ",  "PYAPI2PyAPIevalLoader;",       "loader 
functions through Python"       ]
+[ "batpyapi",  "subeval_aggr", "unsafe pattern batpyapi.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ", "PYAPI2PyAPIevalAggr;", "grouped aggregates 
through Python"     ]
 [ "batpyapimap",       "eval", "pattern batpyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",     "PYAPI2PyAPIevalStdMap;",       "Execute a simple 
Python script value"  ]
 [ "batpyapimap",       "eval_aggr",    "pattern 
batpyapimap.eval_aggr(fptr:ptr, expr:str, arg:any...):any... ",        
"PYAPI2PyAPIevalAggrMap;",      "grouped aggregates through Python"     ]
 [ "batpyapimap",       "subeval_aggr", "pattern 
batpyapimap.subeval_aggr(fptr:ptr, expr:str, arg:any...):any... ",     
"PYAPI2PyAPIevalAggrMap;",      "grouped aggregates through Python"     ]
@@ -6204,9 +6204,9 @@ Ready.
 [ "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"  ]
 [ "blob",      "tostring",     "command blob.tostring(v:blob, index:int):str 
",        "BLOBfromidx;", "get the bytes from blob as a string,\n\t starting at 
byte 'index' till the first\n\t0 byte or the end of the blob."    ]
-[ "bstream",   "create",       "command bstream.create(s:streams, 
bufsize:int):bstream ",      "bstream_create_wrapwrap;",     "create a buffered 
stream"      ]
-[ "bstream",   "destroy",      "command bstream.destroy(s:bstream):void ",     
"bstream_destroy_wrapwrap;",    "destroy bstream"       ]
-[ "bstream",   "read", "command bstream.read(s:bstream, size:int):int ",       
"bstream_read_wrapwrap;",       "read at least size bytes into the buffer of s" 
]
+[ "bstream",   "create",       "unsafe command bstream.create(s:streams, 
bufsize:int):bstream ",       "bstream_create_wrapwrap;",     "create a 
buffered stream"      ]
+[ "bstream",   "destroy",      "unsafe command bstream.destroy(s:bstream):void 
",      "bstream_destroy_wrapwrap;",    "destroy bstream"       ]
+[ "bstream",   "read", "unsafe command bstream.read(s:bstream, size:int):int 
",        "bstream_read_wrapwrap;",       "read at least size bytes into the 
buffer of s" ]
 [ "calc",      "!=",   "pattern calc.!=(l:json, r:json):bit ", "CMDvarNE;",    
"Return V1 != V2"       ]
 [ "calc",      "!=",   "pattern calc.!=(l:uuid, r:uuid):bit ", "CMDvarNE;",    
"Return V1 != V2"       ]
 [ "calc",      "!=",   "pattern calc.!=(v1:bit, v2:bit):bit ", "CMDvarNE;",    
"Return V1 != V2"       ]
@@ -7813,20 +7813,20 @@ Ready.
 [ "json",      "unfold",       "pattern json.unfold(val:json) (o:bat[:oid], 
k:bat[:str], v:bat[:json]) ",      "JSONunfold;",  "Expands the outermost JSON 
object into key-value pairs."       ]
 [ "json",      "valuearray",   "command json.valuearray(val:json):json ",      
"JSONvalueArray;",      "Expands the outermost JSON object values into a JSON 
value array."     ]
 [ "json",      "values",       "command json.values(val:json):bat[:json] ",    
"JSONvalueTable;",      "Expands the outermost JSON values."    ]
-[ "language",  "assert",       "command language.assert(v:bit, term:str):void 
",       "MALassertBit;",        ""      ]
-[ "language",  "assert",       "command language.assert(v:int, term:str):void 
",       "MALassertInt;",        ""      ]
-[ "language",  "assert",       "command language.assert(v:lng, term:str):void 
",       "MALassertLng;",        ""      ]
-[ "language",  "assert",       "command language.assert(v:oid, term:str):void 
",       "MALassertOid;",        ""      ]
-[ "language",  "assert",       "command language.assert(v:sht, term:str):void 
",       "MALassertSht;",        ""      ]
-[ "language",  "assert",       "command language.assert(v:str, term:str):void 
",       "MALassertStr;",        ""      ]
-[ "language",  "assert",       "pattern language.assert(v:any_1, pname:str, 
oper:str, val:any_2):void ",       "MALassertTriple;",     "Assertion test."    
   ]
+[ "language",  "assert",       "unsafe command language.assert(v:bit, 
term:str):void ",        "MALassertBit;",        ""      ]
+[ "language",  "assert",       "unsafe command language.assert(v:int, 
term:str):void ",        "MALassertInt;",        ""      ]
+[ "language",  "assert",       "unsafe command language.assert(v:lng, 
term:str):void ",        "MALassertLng;",        ""      ]
+[ "language",  "assert",       "unsafe command language.assert(v:oid, 
term:str):void ",        "MALassertOid;",        ""      ]
+[ "language",  "assert",       "unsafe command language.assert(v:sht, 
term:str):void ",        "MALassertSht;",        ""      ]
+[ "language",  "assert",       "unsafe command language.assert(v:str, 
term:str):void ",        "MALassertStr;",        ""      ]
+[ "language",  "assert",       "unsafe pattern language.assert(v:any_1, 
pname:str, oper:str, val:any_2):void ",        "MALassertTriple;",     
"Assertion test."       ]
 [ "language",  "block",        "pattern language.block(v:int, w:any...):int ", 
"deblockdataflow;",     "Block on availability of all variables w, and then 
pass on v"  ]
 [ "language",  "call", "pattern language.call(s:bat[:str]):void ",     
"CMDcallBAT;",  "Evaluate a program stored in a BAT."   ]
 [ "language",  "call", "pattern language.call(m:str, f:str):void ",    
"CMDcallFunction;",     ""      ]
 [ "language",  "call", "pattern language.call(s:str):void ",   
"CMDcallString;",       "Evaluate a MAL string program."        ]
 [ "language",  "dataflow",     "pattern language.dataflow():bit ",     
"MALstartDataflow;",    "The current guarded block is executed using dataflow 
control. "        ]
 [ "language",  "pass", "pattern language.pass(v:any_1):void ", "MALpass;",     
"Cheap instruction to disgard storage while retaining the dataflow dependency"  
]
-[ "language",  "raise",        "command language.raise(msg:str):str ", 
"CMDraise;",    "Raise an exception labeled \n\twith a specific message."       
]
+[ "language",  "raise",        "unsafe command language.raise(msg:str):str ",  
"CMDraise;",    "Raise an exception labeled \n\twith a specific message."       
]
 [ "language",  "register",     "pattern language.register(m:str, f:str, 
code:str, help:str):void ",    "CMDregisterFunction;", "Compile the code string 
to MAL and register it as a function." ]
 [ "language",  "sink", "pattern language.sink(v:any...):void ",        
"MALgarbagesink;",      "Variables to be considered together when triggering 
garbage collection.\nUsed in the dataflow blocks to avoid early release of 
values."        ]
 [ "language",  "source",       "pattern language.source(f:str):void ", 
"CMDevalFile;", "Merge the instructions stored in the file with the current 
program."   ]
@@ -7993,8 +7993,8 @@ Ready.
 [ "mmath",     "pow",  "command mmath.pow(x:flt, y:flt):flt ", 
"MATHbinary_POWflt;",   ""      ]
 [ "mmath",     "radians",      "command mmath.radians(x:dbl):dbl ",    
"MATHunary_RADIANSdbl;",        "The radians() function converts degrees into 
radians"  ]
 [ "mmath",     "radians",      "command mmath.radians(x:flt):flt ",    
"MATHunary_RADIANSflt;",        ""      ]
-[ "mmath",     "rand", "command mmath.rand():int ",    "MATHrandint;", "return 
a random number"        ]
-[ "mmath",     "rand", "command mmath.rand(v:int):int ",       
"MATHrandintarg;",      "return a random number"        ]
+[ "mmath",     "rand", "unsafe command mmath.rand():int ",     "MATHrandint;", 
"return a random number"        ]
+[ "mmath",     "rand", "unsafe command mmath.rand(v:int):int ",        
"MATHrandintarg;",      "return a random number"        ]
 [ "mmath",     "round",        "command mmath.round(x:dbl, y:int):dbl ",       
"MATHbinary_ROUNDdbl;", "The round(n, m) returns n rounded to m places to the 
right \n        of the decimal point; if m is omitted, to 0 places. m can be 
\n\tnegative to round off digits left of the decimal point. \n        m must be 
an integer." ]
 [ "mmath",     "round",        "command mmath.round(x:flt, y:int):flt ",       
"MATHbinary_ROUNDflt;", ""      ]
 [ "mmath",     "sin",  "command mmath.sin(x:dbl):dbl ",        
"MATHunary_SINdbl;",    "The sin(x) function returns the cosine of x, where x 
is given in \n        radians. The return value is between -1 and 1."     ]
@@ -8070,7 +8070,7 @@ Ready.
 [ "mtime",     "month",        "command mtime.month(t:timestamp):int ",        
"MTIMEtimestamp_month;",        ""      ]
 [ "mtime",     "monthname",    "command mtime.monthname(month:int):str ",      
"MTIMEmonth_to_str;",   "Returns month name from a number\n\tbetween [1-12], 
str(nil) otherwise."       ]
 [ "mtime",     "monthnum",     "command mtime.monthnum(month:str):int ",       
"MTIMEmonth_from_str;", "Returns month number [1-12] from a string\n\t or nil 
if does not match any."   ]
-[ "mtime",     "msec", "command mtime.msec():lng ",    "MTIMEmsec;",   "get 
time of day in msec since 1-1-1970."       ]
+[ "mtime",     "msec", "unsafe command mtime.msec():lng ",     "MTIMEmsec;",   
"get time of day in msec since 1-1-1970."       ]
 [ "mtime",     "msecs",        "command mtime.msecs(d:int, h:int, m:int, 
s:int, ms:int):lng ", "MTIMEmsecs;",  "convert date components to milliseconds" 
      ]
 [ "mtime",     "prelude",      "command mtime.prelude():void ",        
"MTIMEprelude;",        ""      ]
 [ "mtime",     "rule", "command mtime.rule(mo:int, d:int, wkday:int, 
mi:int):zrule ",  "MTIMErule_create;",    "create a DST start/end date rule."   
  ]
@@ -8115,14 +8115,14 @@ Ready.
 [ "netcdf",    "importvar",    "command netcdf.importvar(filename:str, 
varid:int):str ",       "NCDFimportVarStmt;",   "Import variable: compose 
create array string"  ]
 [ "netcdf",    "importvariable",       "pattern 
netcdf.importvariable(fileid:int, varname:str):void ", "NCDFimportVariable;",  
"Import variable: create array and load data from variable varname of file 
fileid"      ]
 [ "netcdf",    "test", "command netcdf.test(filename:str):int ",       
"NCDFtest;",    "Returns number of variables in a given NetCDF dataset (file)"  
]
-[ "oltp",      "disable",      "pattern oltp.disable():void ", "OLTPdisable;", 
"Disable the OLTP delay monitor"        ]
-[ "oltp",      "enable",       "pattern oltp.enable():void ",  "OLTPenable;",  
"Enable the OLTP delay monitor" ]
-[ "oltp",      "init", "pattern oltp.init():void ",    "OLTPinit;",    
"Initialize the lock table"     ]
-[ "oltp",      "isenabled",    "command oltp.isenabled():int ",        
"OLTPis_enabled;",      "Query the OLTP state"  ]
-[ "oltp",      "lock", "pattern oltp.lock(lck:int...):void ",  "OLTPlock;",    
"Wait for all write locks needed"       ]
-[ "oltp",      "release",      "pattern oltp.release(lck:int...):void ",       
"OLTPrelease;", "Release for all write locks needed"    ]
-[ "oltp",      "reset",        "pattern oltp.reset():void ",   "OLTPreset;",   
"Reset the OLTP lock table"     ]
-[ "oltp",      "table",        "pattern oltp.table() (start:bat[:timestamp], 
usr:bat[:str], unit:bat[:int], cnt:bat[:int]) ",  "OLTPtable;",   "Show status 
of lock table"     ]
+[ "oltp",      "disable",      "unsafe pattern oltp.disable():void ",  
"OLTPdisable;", "Disable the OLTP delay monitor"        ]
+[ "oltp",      "enable",       "unsafe pattern oltp.enable():void ",   
"OLTPenable;",  "Enable the OLTP delay monitor" ]
+[ "oltp",      "init", "unsafe pattern oltp.init():void ",     "OLTPinit;",    
"Initialize the lock table"     ]
+[ "oltp",      "isenabled",    "unsafe command oltp.isenabled():int ", 
"OLTPis_enabled;",      "Query the OLTP state"  ]
+[ "oltp",      "lock", "unsafe pattern oltp.lock(lck:int...):void ",   
"OLTPlock;",    "Wait for all write locks needed"       ]
+[ "oltp",      "release",      "unsafe pattern oltp.release(lck:int...):void 
",        "OLTPrelease;", "Release for all write locks needed"    ]
+[ "oltp",      "reset",        "unsafe pattern oltp.reset():void ",    
"OLTPreset;",   "Reset the OLTP lock table"     ]
+[ "oltp",      "table",        "unsafe pattern oltp.table() 
(start:bat[:timestamp], usr:bat[:str], unit:bat[:int], cnt:bat[:int]) ",   
"OLTPtable;",   "Show status of lock table"     ]
 [ "optimizer", "aliases",      "pattern optimizer.aliases():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "aliases",      "pattern optimizer.aliases(mod:str, 
fcn:str):str ",     "OPTwrapper;",  "Alias removal optimizer"       ]
 [ "optimizer", "candidates",   "pattern optimizer.candidates():str ",  
"OPTwrapper;",  ""      ]
@@ -8220,13 +8220,13 @@ Ready.
 [ "profiler",  "stop", "pattern profiler.stop():void ",        
"CMDstopProfiler;",     "Stop offline performance profiling"    ]
 [ "profiler",  "stoptrace",    "command profiler.stoptrace():void ",   
"CMDstopTrace;",        "Stop collecting trace information"     ]
 [ "profiler",  "stoptrace",    "command profiler.stoptrace(path:str):void ",   
"CMDstopTracePath;",    "Stop collecting trace information"     ]
-[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str):any ",  
"PYAPI2PyAPIevalStd;",  "Execute a simple Python script returning a single 
value"       ]
-[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalStd;",  "Execute a simple Python script 
value"  ]
-[ "pyapi",     "eval_aggr",    "pattern pyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",      "PYAPI2PyAPIevalAggr;", "grouped aggregates through 
Python"     ]
-[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, 
expr:str):any... ",        "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
-[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, expr:str, 
arg:any...):any... ",    "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
+[ "pyapi",     "eval", "unsafe pattern pyapi.eval(fptr:ptr, expr:str):any ",   
"PYAPI2PyAPIevalStd;",  "Execute a simple Python script returning a single 
value"       ]
+[ "pyapi",     "eval", "unsafe pattern pyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",    "PYAPI2PyAPIevalStd;",  "Execute a simple Python 
script value"  ]
+[ "pyapi",     "eval_aggr",    "unsafe pattern pyapi.eval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",       "PYAPI2PyAPIevalAggr;", "grouped 
aggregates through Python"     ]
+[ "pyapi",     "eval_loader",  "unsafe pattern pyapi.eval_loader(fptr:ptr, 
expr:str):any... ", "PYAPI2PyAPIevalLoader;",       "loader functions through 
Python"       ]
+[ "pyapi",     "eval_loader",  "unsafe pattern pyapi.eval_loader(fptr:ptr, 
expr:str, arg:any...):any... ",     "PYAPI2PyAPIevalLoader;",       "loader 
functions through Python"       ]
 [ "pyapi",     "prelude",      "command pyapi.prelude():void ",        
"PYAPI2PyAPIprelude;",  ""      ]
-[ "pyapi",     "subeval_aggr", "pattern pyapi.subeval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalAggr;", "grouped aggregates through 
Python"     ]
+[ "pyapi",     "subeval_aggr", "unsafe pattern pyapi.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",    "PYAPI2PyAPIevalAggr;", "grouped aggregates 
through Python"     ]
 [ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str):any ",       
"PYAPI2PyAPIevalStdMap;",       "Execute a simple Python script returning a 
single value"       ]
 [ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PYAPI2PyAPIevalStdMap;",       "Execute a simple 
Python script value"  ]
 [ "pyapimap",  "eval_aggr",    "pattern pyapimap.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalAggrMap;",      "grouped aggregates 
through Python"     ]
@@ -8276,7 +8276,7 @@ Ready.
 [ "shp",       "import",       "pattern shp.import(fileid:int):void ", 
"SHPimport;",   "Import an ESRI Shapefile with given id into the vault" ]
 [ "shp",       "import",       "pattern shp.import(fileid:int, po:wkb):void ", 
"SHPpartialimport;",    "Partially import an ESRI Shapefile with given id into 
the vault"       ]
 [ "sql",       "abort",        "pattern sql.abort():void ",    "SQLabort;",    
"Trigger the abort operation for a MAL block"   ]
-[ "sql",       "affectedRows", "pattern sql.affectedRows(mvc:int, nr:lng):int 
",       "mvc_affected_rows_wrap;",      "export the number of affected rows by 
the current query"       ]
+[ "sql",       "affectedRows", "unsafe pattern sql.affectedRows(mvc:int, 
nr:lng):int ",        "mvc_affected_rows_wrap;",      "export the number of 
affected rows by the current query"       ]
 [ "sql",       "all",  "inline function sql.all(b:bat[:any_1], gp:bat[:oid], 
gpe:bat[:oid], no_nil:bit):bat[:any_1];", "",     ""      ]
 [ "sql",       "all",  "command sql.all(col:bat[:any_1]):any_1 ",      
"SQLall;",      "if col contains exactly one value return this. Incase of more 
raise an exception else return nil"      ]
 [ "sql",       "alpha",        "command sql.alpha(dec:dbl, theta:dbl):dbl ",   
"SQLcst_alpha_cst;",    "Implementation of astronomy alpha function: expands 
the radius theta depending on the declination"     ]
@@ -8298,9 +8298,9 @@ Ready.
 [ "sql",       "bind_idxbat",  "pattern sql.bind_idxbat(mvc:int, schema:str, 
table:str, index:str, access:int):bat[:any_1] ",  "mvc_bind_idxbat_wrap;",      
  "Bind the 'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - 
inserts\n\t2 - updates"   ]
 [ "sql",       "bind_idxbat",  "pattern sql.bind_idxbat(mvc:int, schema:str, 
table:str, index:str, access:int, part_nr:int, nr_parts:int) (uid:bat[:oid], 
uval:bat[:any_1]) ", "mvc_bind_idxbat_wrap;",        "Bind the 
'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - 
inserts\n\t2 - updates"   ]
 [ "sql",       "bind_idxbat",  "pattern sql.bind_idxbat(mvc:int, schema:str, 
table:str, index:str, access:int, part_nr:int, nr_parts:int):bat[:any_1] ",     
  "mvc_bind_idxbat_wrap;",        "Bind the 'schema.table.index' BAT with 
access kind:\n\t0 - base table\n\t1 - inserts\n\t2 - updates"   ]
-[ "sql",       "clear_table",  "pattern sql.clear_table(sname:str, 
tname:str):lng ",   "mvc_clear_table_wrap;",        "Clear the table 
sname.tname."  ]
+[ "sql",       "clear_table",  "unsafe pattern sql.clear_table(sname:str, 
tname:str):lng ",    "mvc_clear_table_wrap;",        "Clear the table 
sname.tname."  ]
 [ "sql",       "commit",       "pattern sql.commit():void ",   "SQLcommit;",   
"Trigger the commit operation for a MAL block"  ]
-[ "sql",       "copy_from",    "pattern sql.copy_from(t:ptr, sep:str, 
rsep:str, ssep:str, ns:str, fname:str, nr:lng, offset:lng, locked:int, 
best:int, fwf:str):bat[:any]... ",        "mvc_import_table_wrap;",       
"Import a table from bstream s with the \n\tgiven tuple and seperators 
(sep/rsep)"      ]
+[ "sql",       "copy_from",    "unsafe pattern sql.copy_from(t:ptr, sep:str, 
rsep:str, ssep:str, ns:str, fname:str, nr:lng, offset:lng, locked:int, 
best:int, fwf:str):bat[:any]... ", "mvc_import_table_wrap;",       "Import a 
table from bstream s with the \n\tgiven tuple and seperators (sep/rsep)"      ]
 [ "sql",       "copy_rejects", "pattern sql.copy_rejects() (rowid:bat[:lng], 
fldid:bat[:int], msg:bat[:str], inp:bat[:str]) ", "COPYrejects;", ""      ]
 [ "sql",       "copy_rejects_clear",   "pattern sql.copy_rejects_clear():void 
",       "COPYrejects_clear;",   ""      ]
 [ "sql",       "create_func_upgrade_oct2014",  "pattern 
sql.create_func_upgrade_oct2014(sname:str, f:str):int ",       
"UPGcreate_func;",      "Create the function described by f, needed for the 
Oct2014 upgrade"    ]
@@ -8315,19 +8315,19 @@ Ready.
 [ "sql",       "dec_round",    "command sql.dec_round(v:int, r:int):int ",     
"int_dec_round_wrap;",  "round off the value v to nearests multiple of r"       
]
 [ "sql",       "dec_round",    "command sql.dec_round(v:lng, r:lng):lng ",     
"lng_dec_round_wrap;",  "round off the value v to nearests multiple of r"       
]
 [ "sql",       "dec_round",    "command sql.dec_round(v:sht, r:sht):sht ",     
"sht_dec_round_wrap;",  "round off the value v to nearests multiple of r"       
]
-[ "sql",       "declaredTable",        "pattern 
sql.declaredTable(name:str):int ",     "mvc_declared_table_wrap;",     "Prepare 
a declared table"      ]
-[ "sql",       "delete",       "pattern sql.delete(mvc:int, sname:str, 
tname:str, b:any):int ",        "mvc_delete_wrap;",     "Delete a row from a 
table. Returns sequence number for order dependece."       ]
+[ "sql",       "declaredTable",        "unsafe pattern 
sql.declaredTable(name:str):int ",      "mvc_declared_table_wrap;",     
"Prepare a declared table"      ]
+[ "sql",       "delete",       "unsafe pattern sql.delete(mvc:int, sname:str, 
tname:str, b:any):int ", "mvc_delete_wrap;",     "Delete a row from a table. 
Returns sequence number for order dependece."       ]
 [ "sql",       "delta",        "command sql.delta(col:bat[:any_3], 
uid:bat[:oid], uval:bat[:any_3]):bat[:any_3] ",     "DELTAbat2;",   "Return 
column bat with delta's applied."       ]
 [ "sql",       "delta",        "command sql.delta(col:bat[:any_3], 
uid:bat[:oid], uval:bat[:any_3], ins:bat[:any_3]):bat[:any_3] ",    
"DELTAbat;",    "Return column bat with delta's applied."       ]
 [ "sql",       "dense_rank",   "pattern sql.dense_rank(b:any_1, p:bit, 
o:bit):int ",   "SQLdense_rank;",       "return the densely ranked groups"      
]
 [ "sql",       "diff", "pattern sql.diff(b:any_1):bit ",       "SQLdiff;",     
"return true if cur != prev row"        ]
 [ "sql",       "diff", "pattern sql.diff(p:bit, b:any_1):bit ",        
"SQLdiff;",     "return true if cur != prev row"        ]
-[ "sql",       "dropDeclaredTable",    "pattern 
sql.dropDeclaredTable(name:str):void ",        "mvc_drop_declared_table_wrap;", 
       "drop a declared table" ]
-[ "sql",       "dropDeclaredTables",   "pattern 
sql.dropDeclaredTables(nr:int):void ", "mvc_drop_declared_tables_wrap;",       
"drop top n declared tables"    ]
+[ "sql",       "dropDeclaredTable",    "unsafe pattern 
sql.dropDeclaredTable(name:str):void ", "mvc_drop_declared_table_wrap;",        
"drop a declared table" ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to