Changeset: 14dfc2a5855f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14dfc2a5855f Removed Files: documentation/old/HowToRelease.rst documentation/old/HowToStart.rst documentation/old/windowsbuild.rst sql/test/utf8/create.sql sql/test/utf8/load.sql sql/test/utf8/provĂncial.dat sql/test/utf8/provĂncial.fmt sql/test/utf8/query.sql sql/test/utf8/run.all Branch: monetdbe-proxy Log Message:
Merge with default. diffs (truncated from 3922 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -783,3 +783,9 @@ bb157905ecb86908dcfb112d102a8c6152557b5d 94231c85384d893701beeeb69996f57c70fade4d Oct2020_root 017e44827765fb819d31faefcdf9066dfe593f04 Oct2020_1 017e44827765fb819d31faefcdf9066dfe593f04 Oct2020_release +cb4b3f021774b60ffd84c3004d341ec04de736f3 Oct2020_3 +017e44827765fb819d31faefcdf9066dfe593f04 Oct2020_release +cb4b3f021774b60ffd84c3004d341ec04de736f3 Oct2020_release +bd91504a03736565fb2dff13cd4c94c738e81aa0 Oct2020_5 +cb4b3f021774b60ffd84c3004d341ec04de736f3 Oct2020_release +bd91504a03736565fb2dff13cd4c94c738e81aa0 Oct2020_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -860,6 +860,16 @@ fi %postun -p /sbin/ldconfig %changelog +* Tue Oct 13 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.5-20201013 +- Rebuilt. + +* Mon Oct 12 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.5-20201013 +- clients: mclient and msqldump now also look in $XDG_CONFIG_HOME for the monetdb + configuration file. + +* Fri Oct 09 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.3-20201009 +- Rebuilt. + * Tue Oct 06 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.1-20201006 - Rebuilt. - BZ#3553: All schema access to ubiquitous functions diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py --- a/NT/mkodbcwxs.py +++ b/NT/mkodbcwxs.py @@ -82,6 +82,7 @@ def main(): r'bin\stream.dll', # r'lib\stream.pdb', vcpkg.format(r'bin\libiconv.dll'), vcpkg.format(r'bin\bz2.dll'), + vcpkg.format(r'bin\libcharset.dll'), # for libiconv.dll vcpkg.format(r'bin\libcrypto-1_1{}.dll'.format(libcrypto)), vcpkg.format(r'bin\zlib1.dll')]) print(r' </Directory>') diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py --- a/NT/mksqlwxs.py +++ b/NT/mksqlwxs.py @@ -147,8 +147,12 @@ def main(): r'bin\stream.dll', vcpkg.format(r'bin\libiconv.dll'), vcpkg.format(r'bin\bz2.dll'), + vcpkg.format(r'bin\getopt.dll'), + vcpkg.format(r'bin\libcharset.dll'), # for libiconv.dll vcpkg.format(r'bin\libcrypto-1_1{}.dll'.format(libcrypto)), vcpkg.format(r'bin\libxml2.dll'), + vcpkg.format(r'bin\lz4.dll'), + vcpkg.format(r'bin\lzma.dll'), vcpkg.format(r'bin\pcre.dll'), vcpkg.format(r'bin\zlib1.dll')]) # id = comp(debug, id, 14, @@ -197,8 +201,12 @@ def main(): r'lib\stream.lib', vcpkg.format(r'lib\libiconv.lib'), vcpkg.format(r'lib\bz2.lib'), + vcpkg.format(r'lib\getopt.lib'), + vcpkg.format(r'lib\libcharset.lib'), vcpkg.format(r'lib\libcrypto.lib'), vcpkg.format(r'lib\libxml2.lib'), + vcpkg.format(r'lib\lz4.lib'), + vcpkg.format(r'lib\lzma.lib'), vcpkg.format(r'lib\pcre.lib'), vcpkg.format(r'lib\zlib.lib')]) print(r' </Directory>') diff --git a/buildtools/conf/monetdbd.conf.in b/buildtools/conf/monetdbd.conf.in --- a/buildtools/conf/monetdbd.conf.in +++ b/buildtools/conf/monetdbd.conf.in @@ -1,3 +1,3 @@ # this file is for systemd # monetdbd needs a directory in /run that is owned by monetdb:monetdb -d @RUNDIR@/monetdb 0775 monetdb monetdb - +d @RUNDIR@ 0775 monetdb monetdb - diff --git a/clients/ChangeLog-Archive b/clients/ChangeLog-Archive --- a/clients/ChangeLog-Archive +++ b/clients/ChangeLog-Archive @@ -1,6 +1,10 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Mon Oct 12 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.5-20201013 +- mclient and msqldump now also look in $XDG_CONFIG_HOME for the monetdb + configuration file. + * Mon Apr 20 2020 Sjoerd Mullender <sjo...@acm.org> - 11.37.1-20200511 - The monetdb-client-tools (Debian/Ubuntu) and MonetDB-client-tools (Fedora/RH) containing the stethoscope, tachograph, and tomograph has 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 @@ -4717,9 +4717,6 @@ stdout of test 'MAL-signatures` in direc [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:any_1, X_3:bat[:any_1]):bat[:any_1] ", "CMDifthen;", "" ] [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:bat[:any_1], X_3:any_1):bat[:any_1] ", "CMDifthen;", "" ] [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:bat[:any_1], X_3:bat[:any_1]):bat[:any_1] ", "CMDifthen;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:bte] ", "BATSTRindex_bte;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:int] ", "BATSTRindex_int;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:sht] ", "BATSTRindex_sht;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bit]):bat[:int] ", "CMDconvertsignal_int;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bit], X_2:bat[:oid]):bat[:int] ", "CMDconvertsignal_int;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bte]):bat[:int] ", "CMDconvertsignal_int;", "" ] @@ -5750,7 +5747,6 @@ stdout of test 'MAL-signatures` in direc [ "batcalc", "str", "pattern batcalc.str(X_1:int, X_2:int, X_3:int, X_4:int, X_5:bat[:any_1], X_6:int):bat[:str] ", "SQLbatstr_cast;", "" ] [ "batcalc", "str_noerror", "pattern batcalc.str_noerror(X_1:bat[:any]):bat[:str] ", "CMDconvert_str;", "" ] [ "batcalc", "str_noerror", "pattern batcalc.str_noerror(X_1:bat[:any], X_2:bat[:oid]):bat[:str] ", "CMDconvert_str;", "" ] -[ "batcalc", "strings", "command batcalc.strings(X_1:bat[:str]):bat[:str] ", "BATSTRstrings;", "" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(X_1:bat[:bte], X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:oid]):bat[:bte] ", "CMDbatSUB;", "" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(X_1:bat[:bte], X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:oid]):bat[:dbl] ", "CMDbatSUB;", "" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(X_1:bat[:bte], X_2:bat[:flt], X_3:bat[:oid], X_4:bat[:oid]):bat[:flt] ", "CMDbatSUB;", "" ] @@ -6340,6 +6336,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "get_value", "pattern batsql.get_value(X_1:bat[:str], X_2:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "" ] [ "batsql", "get_value", "pattern batsql.get_value(X_1:bat[:str], X_2:str):bat[:lng] ", "mvc_bat_get_value;", "" ] [ "batsql", "get_value", "pattern batsql.get_value(X_1:str, X_2:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "" ] +[ "batsql", "index", "command batsql.index(X_1:bat[:str], X_2:bit):bat[:bte] ", "BATSTRindex_bte;", "" ] +[ "batsql", "index", "command batsql.index(X_1:bat[:str], X_2:bit):bat[:int] ", "BATSTRindex_int;", "" ] +[ "batsql", "index", "command batsql.index(X_1:bat[:str], X_2:bit):bat[:sht] ", "BATSTRindex_sht;", "" ] [ "batsql", "lag", "pattern batsql.lag(X_1:any_1, X_2:any, X_3:bat[:any_1], X_4:any_2, X_5:any_3):bat[:any_1] ", "SQLlag;", "" ] [ "batsql", "lag", "pattern batsql.lag(X_1:any_1, X_2:bat[:any], X_3:any_1, X_4:any_2, X_5:any_3):bat[:any_1] ", "SQLlag;", "" ] [ "batsql", "lag", "pattern batsql.lag(X_1:any_1, X_2:bat[:any], X_3:any_2, X_4:any_3):bat[:any_1] ", "SQLlag;", "" ] @@ -6414,6 +6413,7 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "str_group_concat", "pattern batsql.str_group_concat(X_1:bat[:str], X_2:bat[:str], X_3:bat[:lng], X_4:bat[:lng]):bat[:str] ", "SQLstrgroup_concat;", "" ] [ "batsql", "str_group_concat", "pattern batsql.str_group_concat(X_1:bat[:str], X_2:str, X_3:bat[:lng], X_4:bat[:lng]):bat[:str] ", "SQLstrgroup_concat;", "" ] [ "batsql", "str_group_concat", "pattern batsql.str_group_concat(X_1:str, X_2:bat[:str], X_3:lng, X_4:lng):bat[:str] ", "SQLstrgroup_concat;", "" ] +[ "batsql", "strings", "command batsql.strings(X_1:bat[:str]):bat[:str] ", "BATSTRstrings;", "" ] [ "batsql", "sum", "pattern batsql.sum(X_1:bat[:bte], X_2:bat[:lng], X_3:bat[:lng]):bat[:lng] ", "SQLsum;", "" ] [ "batsql", "sum", "pattern batsql.sum(X_1:bat[:dbl], X_2:bat[:lng], X_3:bat[:lng]):bat[:dbl] ", "SQLsum;", "" ] [ "batsql", "sum", "pattern batsql.sum(X_1:bat[:flt], X_2:bat[:lng], X_3:bat[:lng]):bat[:dbl] ", "SQLsum;", "" ] @@ -7863,9 +7863,6 @@ stdout of test 'MAL-signatures` in direc [ "calc", "hash", "pattern calc.hash(X_1:sht):lng ", "MKEYhash;", "" ] [ "calc", "identity", "command calc.identity(X_1:any):oid ", "SQLidentity;", "" ] [ "calc", "ifthenelse", "pattern calc.ifthenelse(X_1:bit, X_2:any_1, X_3:any_1):any_1 ", "CALCswitchbit;", "" ] -[ "calc", "index", "command calc.index(X_1:str, X_2:bit):bte ", "STRindex_bte;", "" ] -[ "calc", "index", "command calc.index(X_1:str, X_2:bit):int ", "STRindex_int;", "" ] -[ "calc", "index", "command calc.index(X_1:str, X_2:bit):sht ", "STRindex_sht;", "" ] [ "calc", "inet", "command calc.inet(X_1:str):inet ", "INET_fromstr;", "" ] [ "calc", "inet", "command calc.inet(X_1:inet):inet ", "INET_inet;", "" ] [ "calc", "int", "pattern calc.int(X_1:bit):int ", "CMDvarCONVERT;", "" ] @@ -8212,7 +8209,6 @@ stdout of test 'MAL-signatures` in direc [ "calc", "str", "pattern calc.str(X_1:any):str ", "CMDvarCONVERT;", "" ] [ "calc", "str", "pattern calc.str(X_1:int, X_2:int, X_3:int, X_4:int, X_5:any_1, X_6:int):str ", "SQLstr_cast;", "" ] [ "calc", "str", "command calc.str(X_1:uuid):str ", "UUIDuuid2str;", "" ] -[ "calc", "strings", "command calc.strings(X_1:str):str ", "STRstrings;", "" ] [ "calc", "sub_noerror", "pattern calc.sub_noerror(X_1:bte, X_2:bte):bte ", "CMDvarSUB;", "" ] [ "calc", "sub_noerror", "pattern calc.sub_noerror(X_1:bte, X_2:dbl):dbl ", "CMDvarSUB;", "" ] [ "calc", "sub_noerror", "pattern calc.sub_noerror(X_1:bte, X_2:flt):flt ", "CMDvarSUB;", "" ] @@ -9259,6 +9255,9 @@ stdout of test 'MAL-signatures` in direc [ "sql", "hot_snapshot", "unsafe pattern sql.hot_snapshot(X_1:str, X_2:bit):void ", "SQLhot_snapshot_wrap;", "" ] [ "sql", "importTable", "unsafe pattern sql.importTable(X_1:str, X_2:str, X_3:int, X_4:str...):bat[:any]... ", "mvc_bin_import_table_wrap;", "" ] [ "sql", "include", "pattern sql.include(X_1:str):void ", "SQLinclude;", "" ] +[ "sql", "index", "command sql.index(X_1:str, X_2:bit):bte ", "STRindex_bte;", "" ] +[ "sql", "index", "command sql.index(X_1:str, X_2:bit):int ", "STRindex_int;", "" ] +[ "sql", "index", "command sql.index(X_1:str, X_2:bit):sht ", "STRindex_sht;", "" ] [ "sql", "lag", "pattern sql.lag(X_1:any_1, X_2:any, X_3:any_1, X_4:bit, X_5:bit):any_1 ", "SQLlag;", "" ] [ "sql", "lag", "pattern sql.lag(X_1:any_1, X_2:any, X_3:bit, X_4:bit):any_1 ", "SQLlag;", "" ] [ "sql", "lag", "pattern sql.lag(X_1:any_1, X_2:bit, X_3:bit):any_1 ", "SQLlag;", "" ] @@ -9358,6 +9357,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "storage", "pattern sql.storage(X_17:str, X_18:str, X_19:str) (X_0:bat[:str], X_1:bat[:str], X_2:bat[:str], X_3:bat[:str], X_4:bat[:str], X_5:bat[:str], X_6:bat[:lng], X_7:bat[:int], X_8:bat[:lng], X_9:bat[:lng], X_10:bat[:lng], X_11:bat[:bit], X_12:bat[:lng], X_13:bat[:bit], X_14:bat[:bit], X_15:bat[:bit], X_16:bat[:lng]) ", "sql_storage;", "" ] [ "sql", "str_group_concat", "pattern sql.str_group_concat(X_1:str, X_2:lng, X_3:lng):str ", "SQLstrgroup_concat;", "" ] [ "sql", "str_group_concat", "pattern sql.str_group_concat(X_1:str, X_2:str, X_3:lng, X_4:lng):str ", "SQLstrgroup_concat;", "" ] +[ "sql", "strings", "command sql.strings(X_1:str):str ", "STRstrings;", "" ] [ "sql", "subdelta", "command sql.subdelta(X_1:bat[:oid], X_2:bat[:oid], X_3:bat[:oid], X_4:bat[:oid]):bat[:oid] ", "DELTAsub2;", "" ] [ "sql", "subdelta", "command sql.subdelta(X_1:bat[:oid], X_2:bat[:oid], X_3:bat[:oid], X_4:bat[:oid], X_5:bat[:oid]):bat[:oid] ", "DELTAsub;", "" ] [ "sql", "sum", "pattern sql.sum(X_1:bte, X_2:lng, X_3:lng):lng ", "SQLsum;", "" ] 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 @@ -6793,9 +6793,6 @@ stdout of test 'MAL-signatures` in direc [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:any_1, X_3:bat[:any_1]):bat[:any_1] ", "CMDifthen;", "" ] [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:bat[:any_1], X_3:any_1):bat[:any_1] ", "CMDifthen;", "" ] [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:bat[:any_1], X_3:bat[:any_1]):bat[:any_1] ", "CMDifthen;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:bte] ", "BATSTRindex_bte;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:int] ", "BATSTRindex_int;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:sht] ", "BATSTRindex_sht;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bit]):bat[:int] ", "CMDconvertsignal_int;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bit], X_2:bat[:oid]):bat[:int] ", "CMDconvertsignal_int;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bte]):bat[:int] ", "CMDconvertsignal_int;", "" ] @@ -8274,7 +8271,6 @@ stdout of test 'MAL-signatures` in direc [ "batcalc", "str", "pattern batcalc.str(X_1:int, X_2:int, X_3:int, X_4:int, X_5:bat[:any_1], X_6:int):bat[:str] ", "SQLbatstr_cast;", "" ] [ "batcalc", "str_noerror", "pattern batcalc.str_noerror(X_1:bat[:any]):bat[:str] ", "CMDconvert_str;", "" ] [ "batcalc", "str_noerror", "pattern batcalc.str_noerror(X_1:bat[:any], X_2:bat[:oid]):bat[:str] ", "CMDconvert_str;", "" ] -[ "batcalc", "strings", "command batcalc.strings(X_1:bat[:str]):bat[:str] ", "BATSTRstrings;", "" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(X_1:bat[:bte], X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:oid]):bat[:bte] ", "CMDbatSUB;", "" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(X_1:bat[:bte], X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:oid]):bat[:dbl] ", "CMDbatSUB;", "" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(X_1:bat[:bte], X_2:bat[:flt], X_3:bat[:oid], X_4:bat[:oid]):bat[:flt] ", "CMDbatSUB;", "" ] @@ -8921,6 +8917,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "get_value", "pattern batsql.get_value(X_1:bat[:str], X_2:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "" ] [ "batsql", "get_value", "pattern batsql.get_value(X_1:bat[:str], X_2:str):bat[:lng] ", "mvc_bat_get_value;", "" ] [ "batsql", "get_value", "pattern batsql.get_value(X_1:str, X_2:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "" ] +[ "batsql", "index", "command batsql.index(X_1:bat[:str], X_2:bit):bat[:bte] ", "BATSTRindex_bte;", "" ] +[ "batsql", "index", "command batsql.index(X_1:bat[:str], X_2:bit):bat[:int] ", "BATSTRindex_int;", "" ] +[ "batsql", "index", "command batsql.index(X_1:bat[:str], X_2:bit):bat[:sht] ", "BATSTRindex_sht;", "" ] [ "batsql", "lag", "pattern batsql.lag(X_1:any_1, X_2:any, X_3:bat[:any_1], X_4:any_2, X_5:any_3):bat[:any_1] ", "SQLlag;", "" ] [ "batsql", "lag", "pattern batsql.lag(X_1:any_1, X_2:bat[:any], X_3:any_1, X_4:any_2, X_5:any_3):bat[:any_1] ", "SQLlag;", "" ] [ "batsql", "lag", "pattern batsql.lag(X_1:any_1, X_2:bat[:any], X_3:any_2, X_4:any_3):bat[:any_1] ", "SQLlag;", "" ] @@ -9003,6 +9002,7 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "str_group_concat", "pattern batsql.str_group_concat(X_1:bat[:str], X_2:bat[:str], X_3:bat[:lng], X_4:bat[:lng]):bat[:str] ", "SQLstrgroup_concat;", "" ] [ "batsql", "str_group_concat", "pattern batsql.str_group_concat(X_1:bat[:str], X_2:str, X_3:bat[:lng], X_4:bat[:lng]):bat[:str] ", "SQLstrgroup_concat;", "" ] [ "batsql", "str_group_concat", "pattern batsql.str_group_concat(X_1:str, X_2:bat[:str], X_3:lng, X_4:lng):bat[:str] ", "SQLstrgroup_concat;", "" ] +[ "batsql", "strings", "command batsql.strings(X_1:bat[:str]):bat[:str] ", "BATSTRstrings;", "" ] [ "batsql", "sum", "pattern batsql.sum(X_1:bat[:bte], X_2:bat[:lng], X_3:bat[:lng]):bat[:hge] ", "SQLsum;", "" ] [ "batsql", "sum", "pattern batsql.sum(X_1:bat[:bte], X_2:bat[:lng], X_3:bat[:lng]):bat[:lng] ", "SQLsum;", "" ] [ "batsql", "sum", "pattern batsql.sum(X_1:bat[:dbl], X_2:bat[:lng], X_3:bat[:lng]):bat[:dbl] ", "SQLsum;", "" ] @@ -11037,9 +11037,6 @@ stdout of test 'MAL-signatures` in direc [ "calc", "hge", "command calc.hge(X_1:str, X_2:int, X_3:int):hge ", "str_2dec_hge;", "" ] [ "calc", "identity", "command calc.identity(X_1:any):oid ", "SQLidentity;", "" ] [ "calc", "ifthenelse", "pattern calc.ifthenelse(X_1:bit, X_2:any_1, X_3:any_1):any_1 ", "CALCswitchbit;", "" ] -[ "calc", "index", "command calc.index(X_1:str, X_2:bit):bte ", "STRindex_bte;", "" ] -[ "calc", "index", "command calc.index(X_1:str, X_2:bit):int ", "STRindex_int;", "" ] -[ "calc", "index", "command calc.index(X_1:str, X_2:bit):sht ", "STRindex_sht;", "" ] [ "calc", "inet", "command calc.inet(X_1:str):inet ", "INET_fromstr;", "" ] [ "calc", "inet", "command calc.inet(X_1:inet):inet ", "INET_inet;", "" ] [ "calc", "int", "pattern calc.int(X_1:bit):int ", "CMDvarCONVERT;", "" ] @@ -11522,7 +11519,6 @@ stdout of test 'MAL-signatures` in direc [ "calc", "str", "pattern calc.str(X_1:any):str ", "CMDvarCONVERT;", "" ] [ "calc", "str", "pattern calc.str(X_1:int, X_2:int, X_3:int, X_4:int, X_5:any_1, X_6:int):str ", "SQLstr_cast;", "" ] [ "calc", "str", "command calc.str(X_1:uuid):str ", "UUIDuuid2str;", "" ] -[ "calc", "strings", "command calc.strings(X_1:str):str ", "STRstrings;", "" ] [ "calc", "sub_noerror", "pattern calc.sub_noerror(X_1:bte, X_2:bte):bte ", "CMDvarSUB;", "" ] [ "calc", "sub_noerror", "pattern calc.sub_noerror(X_1:bte, X_2:dbl):dbl ", "CMDvarSUB;", "" ] [ "calc", "sub_noerror", "pattern calc.sub_noerror(X_1:bte, X_2:flt):flt ", "CMDvarSUB;", "" ] @@ -12606,6 +12602,9 @@ stdout of test 'MAL-signatures` in direc [ "sql", "hot_snapshot", "unsafe pattern sql.hot_snapshot(X_1:str, X_2:bit):void ", "SQLhot_snapshot_wrap;", "" ] [ "sql", "importTable", "unsafe pattern sql.importTable(X_1:str, X_2:str, X_3:int, X_4:str...):bat[:any]... ", "mvc_bin_import_table_wrap;", "" ] [ "sql", "include", "pattern sql.include(X_1:str):void ", "SQLinclude;", "" ] +[ "sql", "index", "command sql.index(X_1:str, X_2:bit):bte ", "STRindex_bte;", "" ] +[ "sql", "index", "command sql.index(X_1:str, X_2:bit):int ", "STRindex_int;", "" ] +[ "sql", "index", "command sql.index(X_1:str, X_2:bit):sht ", "STRindex_sht;", "" ] [ "sql", "lag", "pattern sql.lag(X_1:any_1, X_2:any, X_3:any_1, X_4:bit, X_5:bit):any_1 ", "SQLlag;", "" ] [ "sql", "lag", "pattern sql.lag(X_1:any_1, X_2:any, X_3:bit, X_4:bit):any_1 ", "SQLlag;", "" ] [ "sql", "lag", "pattern sql.lag(X_1:any_1, X_2:bit, X_3:bit):any_1 ", "SQLlag;", "" ] @@ -12713,6 +12712,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "storage", "pattern sql.storage(X_17:str, X_18:str, X_19:str) (X_0:bat[:str], X_1:bat[:str], X_2:bat[:str], X_3:bat[:str], X_4:bat[:str], X_5:bat[:str], X_6:bat[:lng], X_7:bat[:int], X_8:bat[:lng], X_9:bat[:lng], X_10:bat[:lng], X_11:bat[:bit], X_12:bat[:lng], X_13:bat[:bit], X_14:bat[:bit], X_15:bat[:bit], X_16:bat[:lng]) ", "sql_storage;", "" ] [ "sql", "str_group_concat", "pattern sql.str_group_concat(X_1:str, X_2:lng, X_3:lng):str ", "SQLstrgroup_concat;", "" ] [ "sql", "str_group_concat", "pattern sql.str_group_concat(X_1:str, X_2:str, X_3:lng, X_4:lng):str ", "SQLstrgroup_concat;", "" ] +[ "sql", "strings", "command sql.strings(X_1:str):str ", "STRstrings;", "" ] [ "sql", "subdelta", "command sql.subdelta(X_1:bat[:oid], X_2:bat[:oid], X_3:bat[:oid], X_4:bat[:oid]):bat[:oid] ", "DELTAsub2;", "" ] [ "sql", "subdelta", "command sql.subdelta(X_1:bat[:oid], X_2:bat[:oid], X_3:bat[:oid], X_4:bat[:oid], X_5:bat[:oid]):bat[:oid] ", "DELTAsub;", "" ] [ "sql", "sum", "pattern sql.sum(X_1:bte, X_2:lng, X_3:lng):hge ", "SQLsum;", "" ] diff --git a/clients/mapiclient/dotmonetdb.c b/clients/mapiclient/dotmonetdb.c --- a/clients/mapiclient/dotmonetdb.c +++ b/clients/mapiclient/dotmonetdb.c @@ -19,33 +19,37 @@ parse_dotmonetdb(DotMonetdb *dotfile) if (dotfile == NULL) return; + /* if environment variable DOTMONETDBFILE is set, use it */ + /* 1. use $DOTMONETDBFILE (if set but empty do not read config file); + * 2. use .monetdb; + * 3. use ${XDG_CONFIG_HOME-$HOME/.config}/monetdb; + * 4. use $HOME/.monetdb + * (3 is standard shell syntax: use XDG_CONFIG_HOME if set, else use + * $HOME/.config in its place) + */ if ((cfile = getenv("DOTMONETDBFILE")) == NULL) { /* no environment variable: use a default */ - if ((config = fopen(".monetdb", "r")) == NULL) { - if ((cfile = getenv("HOME")) != NULL) { - int len = snprintf(buf, sizeof(buf), "%s%c.monetdb", cfile, DIR_SEP); - if (len == -1 || len >= FILENAME_MAX) { - cfile = NULL; - } else { - config = fopen(buf, "r"); - if (config) - cfile = strdup(buf); - else - cfile = NULL; + cfile = ".monetdb"; + if ((config = fopen(cfile, "r")) == NULL) { + const char *xdg = getenv("XDG_CONFIG_HOME"); + const char *home = getenv("HOME"); + int len = -1; + cfile = buf; + if (xdg != NULL) + len = snprintf(buf, sizeof(buf), "%s%cmonetdb", xdg, DIR_SEP); + else if (home != NULL) + len = snprintf(buf, sizeof(buf), "%s%c.config%cmonetdb", home, DIR_SEP, DIR_SEP); + if (len == -1 || len >= FILENAME_MAX || (config = fopen(buf, "r")) == NULL) { + if (home) { + len = snprintf(buf, sizeof(buf), "%s%c.monetdb", home, DIR_SEP); + if (len >= 0 && len < FILENAME_MAX) + config = fopen(buf, "r"); } } - } else { - cfile = strdup(".monetdb"); } - } else if (*cfile == 0) { - /* empty environment variable: skip the file */ - cfile = NULL; - } else if ((config = fopen(cfile, "r")) == NULL) { + } else if (*cfile != 0 && (config = fopen(cfile, "r")) == NULL) { fprintf(stderr, "failed to open file '%s': %s\n", cfile, strerror(errno)); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list