Changeset: bd366cf395c6 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd366cf395c6 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/coalesc-limit.Bug-6316.stable.err sql/test/BugTracker-2017/Tests/coalesc-limit.Bug-6316.stable.out sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.sql 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/delete_from_merge_table.Bug-3743.sql sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.err sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.out sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.err sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.out sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.err sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.out sql/test/BugTracker-2017/Tests/lateral02.Bug-6314.stable.err sql/test/BugTracker-2017/Tests/lateral02.Bug-6314.stable.out sql/test/BugTracker-2017/Tests/limit.bug-6322.sql sql/test/BugTracker-2017/Tests/limit_clause.Bug-6312.stable.err sql/test/BugTracker-2017/Tests/limit_clause.Bug-6312.stable.out sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.sql sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.stable.err sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.stable.out sql/test/BugTracker-2017/Tests/simplify_math.Bug-6324.sql sql/test/BugTracker-2017/Tests/simplify_math.Bug-6324.stable.err sql/test/BugTracker-2017/Tests/simplify_math.Bug-6324.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/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.err sql/test/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.out sql/test/Tests/ifexists-views.sql sql/test/Tests/ifexists-views.stable.err sql/test/Tests/ifexists-views.stable.out sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.err sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.out Modified Files: .hgtags MonetDB.spec NT/mkgeomwxs.py NT/mkodbcwxs.py NT/mksqlwxs.py buildtools/conf/monetdb.ico clients/ChangeLog.Dec2016 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 clients/odbc/driver/SQLTables.c common/stream/stream.c debian/changelog gdk/gdk_atoms.c gdk/gdk_bat.c gdk/gdk_bbp.c gdk/gdk_heap.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_private.h gdk/gdk_search.c gdk/gdk_select.c gdk/gdk_utils.c geom/monetdb5/geom_upgrade.c libversions monetdb5/mal/mal_debugger.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_instruction.h monetdb5/mal/mal_parser.c monetdb5/modules/kernel/status.c monetdb5/modules/mal/00_language_hge.mal monetdb5/modules/mal/bbp.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/inspect.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/manifold.h monetdb5/modules/mal/mdb.c 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_pushselect.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_cat.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/include/sql_catalog.h sql/scripts/51_sys_schema_extension.sql sql/server/rel_optimizer.c sql/server/rel_rel.c sql/server/rel_rel.h sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_updates.c sql/server/sql_parser.y sql/storage/store.c sql/test/BugTracker-2010/Tests/count-and-not.Bug-2663.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/lateral.Bug-6310.sql sql/test/BugTracker-2017/Tests/nestedoperators.Bug-6292.stable.err sql/test/Tests/All sql/test/Tests/copy-into-fwf.sql.in 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/sys-schema/Tests/check_AlternateKey_uniqueness.sql sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.out 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 tools/merovingian/daemon/merovingian.c tools/merovingian/utils/control.c Branch: data-vaults Log Message:
Merge with default diffs (truncated from 37500 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -671,3 +671,5 @@ 54a8c9d99dc3621a02579db0c59309781caceb54 05f4e62bc67911a25f19be7fe742009ab1ee41c7 Dec2016_21 c57454c6c6f6e77fbbdf70de32a7cc845b67d1dd Dec2016_SP4_release 05f4e62bc67911a25f19be7fe742009ab1ee41c7 Dec2016_SP4_release +8b3d3f7c487cb6e34dab1167797a61862cba2124 Dec2016_23 +8b3d3f7c487cb6e34dab1167797a61862cba2124 Dec2016_SP5_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -132,7 +132,7 @@ Vendor: MonetDB BV <i...@monetdb.org> Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Dec2016-SP4/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Dec2016-SP5/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 @@ -311,6 +311,11 @@ MonetDB, you will very likely need this Summary: MonetDB - Monet Database Management System Client Programs Group: Applications/Databases Requires: %{name}-client%{?_isa} = %{version}-%{release} +%if (0%{?fedora} >= 22) +# tomograph executes these two: +Recommends: /usr/bin/gs +Recommends: /usr/bin/gnuplot +%endif %description client-tools MonetDB is a database management system that is developed from a @@ -953,6 +958,24 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Mon May 29 2017 Panagiotis Koutsourakis <kutsu...@monetdbsolutions.com> - 11.25.23-20170529 +- Rebuilt. +- BZ#6290: Crash (and assertion failure) with a correlated subquery with + NOT IN in the select-list +- BZ#6291: crash if executes a function with sample operator +- BZ#6294: Sqlitelogictest crash +- BZ#6296: Another sqllitelogictest crash :( +- BZ#6297: 7th sqllitelogictest crash :( +- BZ#6300: Protect against missing BATs (sqlsmith) +- BZ#6314: Lateral crash report (sqlsmith) +- BZ#6315: Exist operator on type bigint missing (sqlsmith) +- BZ#6316: Coalesc and limit error (sqlsmith) +- BZ#6317: Two-column integer aggregation extremely slow +- BZ#6318: Daemon crashes if .merovignian_properties for a database + contains more than 42 entries +- BZ#6320: The daemon ignores all but the last entry in the + .merovignian_properties file when spawning mserver5 + * Tue Apr 25 2017 Sjoerd Mullender <sjo...@acm.org> - 11.25.21-20170425 - Rebuilt. - BZ#6260: Sqlitelogictest crash 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/ChangeLog.Dec2016 b/clients/ChangeLog.Dec2016 --- a/clients/ChangeLog.Dec2016 +++ b/clients/ChangeLog.Dec2016 @@ -1,3 +1,7 @@ # ChangeLog file for clients # This file is updated with Maddlog +* Mon Jun 12 2017 Sjoerd Mullender <sjo...@acm.org> +- A bug was fixed in the implementation of the functions SQLTables in + the ODBC driver where not enough memory was allocated. + 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" ] @@ -7835,20 +7835,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." ] @@ -8022,8 +8022,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." ] @@ -8099,7 +8099,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." ] @@ -8144,14 +8144,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" ] _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list