Changeset: 0ce20141e77a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/0ce20141e77a Modified Files: gdk/CMakeLists.txt gdk/gdk.h gdk/gdk_private.h gdk/gdk_strimps.c monetdb5/modules/mal/01_calc.mal monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/batcalc.c Branch: string_imprints Log Message:
Merge with default diffs (truncated from 418839 to 300 lines): diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -11,9 +11,9 @@ assignees: '' A clear and concise description of what the bug is. **To Reproduce** -Create a setting with minimal input for an external user to demonstrate him the buggy behavior. -This includes the relevant part of the database schema description. -Performance trace of the roque query (using the TRACE command) +Create a setting with minimal input for an external user to demonstrate the buggy behavior. +This includes the relevant part of the database schema description. +Performance trace of the rogue query (using the TRACE command) **Expected behavior** A clear and concise description of what you expected to happen. diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -798,3 +798,5 @@ 929f5e280bc1532a2bfaab127ca7915dc3b69a33 742b7847cfdcea39a6c19ab29eb35471d46bb2bb Oct2020_SP2_release 17d27ad30941c81e4bc700300912e84e9b9a8c37 Oct2020_13 17d27ad30941c81e4bc700300912e84e9b9a8c37 Oct2020_SP3_release +6b71a8cc3498561815ac88d6c652922359efd13a Oct2020_15 +6b71a8cc3498561815ac88d6c652922359efd13a Oct2020_SP4_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -84,7 +84,7 @@ Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ BugURL: https://bugs.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Oct2020-SP3/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Oct2020-SP4/%{name}-%{version}.tar.bz2 # The Fedora packaging document says we need systemd-rpm-macros for # the _unitdir and _tmpfilesdir macros to exist; however on RHEL 7 @@ -302,8 +302,8 @@ This package contains the files needed t Summary: MonetDB ODBC driver Group: Applications/Databases Requires: %{name}-client%{?_isa} = %{version}-%{release} -Requires(post): unixODBC -Requires(postun): unixODBC +Requires(post): %{_bindir}/odbcinst +Requires(postun): %{_bindir}/odbcinst %description client-odbc MonetDB is a database management system that is developed from a @@ -828,6 +828,48 @@ else fi %changelog +* Fri Apr 02 2021 Sjoerd Mullender <sjo...@acm.org> - 11.39.15-20210402 +- Rebuilt. +- GH#6786: function json.isvalid(js json) is not useful, could be removed +- GH#7016: Database crashes when use similarity function on a table with + more than 200k records +- GH#7037: Clearer err msg for ALTER USER with insufficient privileges +- GH#7042: AddressSanitizer:DEADLYSIGNAL in Oct2020/gdk/gdk_tracer.c:494 +- GH#7050: file descriptor leak when forward=redirect +- GH#7057: ODBC driver installer on Windows is missing some DLLs +- GH#7058: MonetDBe: COPY INTO csv file does not produce any output +- GH#7059: MonetDBe: 'reverse' C UDF crashes +- GH#7061: Have bulk load support combined gzip files +- GH#7064: Temporary hashes created in hash and unique logic should try to + use transient data farm first +- GH#7066: percent_rank function with wrong results +- GH#7070: double free error when running MonetDBe Example +- GH#7076: mserver5 ignores memory.low from cgroups v2 +- GH#7077: Oct2020: new default privileges not effectively communicated +- GH#7083: MonetDBe C++ Compiling Error +- GH#7085: Mitosis and filter functions +- GH#7087: SIGSEGV caused by error in subquery's function being ignored by + top-level query +- GH#7089: Data consistency problem of query results in the latest release + of Monetdb (Remote Table) + +* Wed Mar 31 2021 Sjoerd Mullender <sjo...@acm.org> - 11.39.15-20210402 +- odbc: When connecting using a DSN (Data Source Name), information about the + data source is retrieved from the ODBC.INI file. Now we also get the + location of the LOGFILE from this file. The logfile can be used to + log all calls to the MonetDB ODBC driver to a file which can be used + for debugging. + +* Thu Mar 25 2021 Sjoerd Mullender <sjo...@acm.org> - 11.39.15-20210402 +- odbc: The ODBC driver now only passes on information about HUGEINT columns + as HUGEINT when the application has indicated interest by querying + about the SQL_HUGEINT extension type using the SQLGetTypeInfo + function or by specifying the type in a call to SQLSetDescField. + Otherwise the driver silently translates the HUGEINT type to BIGINT. + This means that most application will see BIGINT columns when the + server produced a HUGEINT column and only give an error if the value + in the HUGEINT column didn't fit into a BIGINT. + * Thu Feb 11 2021 Sjoerd Mullender <sjo...@acm.org> - 11.39.13-20210211 - Rebuilt. - GH#7049: Implement DISTINCT for GROUP_CONCAT 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 @@ -65,5852 +65,5878 @@ stdout of test 'MAL-signatures` in direc % module, function, signature, address, comment # name % clob, clob, clob, clob, clob # type % 12, 28, 313, 42, 0 # length -[ "aggr", "all", "command aggr.all(X_1:bat[:any_1]):any_1 ", "SQLall;", "" ] -[ "aggr", "allnotequal", "pattern aggr.allnotequal(X_1:bat[:any_1], X_2:bat[:any_1]):bit ", "SQLallnotequal;", "" ] -[ "aggr", "anyequal", "pattern aggr.anyequal(X_1:any_1, X_2:any_1):bit ", "CMDvarEQ;", "" ] -[ "aggr", "anyequal", "pattern aggr.anyequal(X_1:bat[:any_1], X_2:bat[:any_1]):bit ", "SQLanyequal;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:dbl], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1], X_4:int):bat[:dbl] ", "AGGRavg14_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:dbl], X_2:bat[:oid], X_3:bat[:any_1], X_4:int):bat[:dbl] ", "AGGRavg14_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1], X_4:int):bat[:dbl] ", "AGGRavg14_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1], X_4:int):bat[:dbl] ", "AGGRavg14_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:any_1], X_4:int):bat[:dbl] ", "AGGRavg14_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1], X_4:int):bat[:dbl] ", "AGGRavg14_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg23_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg23_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:flt], X_3:bat[:oid], X_4:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg23_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:int], X_3:bat[:oid], X_4:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg23_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:lng], X_3:bat[:oid], X_4:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg23_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg23_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:any_1], X_5:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:any_1], X_5:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:flt], X_3:bat[:oid], X_4:bat[:any_1], X_5:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:int], X_3:bat[:oid], X_4:bat[:any_1], X_5:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:lng], X_3:bat[:oid], X_4:bat[:any_1], X_5:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;", "" ] -[ "aggr", "avg", "command aggr.avg(X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:any_1], X_5:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_3:bat[:bte], X_4:bat[:oid], X_5:bit) (X_0:bte, X_1:lng, X_2:lng) ", "CMDBATavg3;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_3:bat[:int], X_4:bat[:oid], X_5:bit) (X_0:int, X_1:lng, X_2:lng) ", "CMDBATavg3;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_3:bat[:lng], X_4:bat[:oid], X_5:bit) (X_0:lng, X_1:lng, X_2:lng) ", "CMDBATavg3;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_3:bat[:sht], X_4:bat[:oid], X_5:bit) (X_0:sht, X_1:lng, X_2:lng) ", "CMDBATavg3;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_1:bat[:bte], X_2:bat[:lng], X_3:bat[:lng]):bte ", "CMDBATavg3comb;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_1:bat[:int], X_2:bat[:lng], X_3:bat[:lng]):int ", "CMDBATavg3comb;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_1:bat[:lng], X_2:bat[:lng], X_3:bat[:lng]):lng ", "CMDBATavg3comb;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_1:bat[:sht], X_2:bat[:lng], X_3:bat[:lng]):sht ", "CMDBATavg3comb;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_1:bat[:any_2]):dbl ", "CMDcalcavg;", "" ] -[ "aggr", "avg", "pattern aggr.avg(X_1:bat[:any_2], X_2:int):dbl ", "CMDcalcavg;", "" ] -[ "aggr", "cardinality", "command aggr.cardinality(X_1:bat[:any_2]):lng ", "ALGcard;", "" ] -[ "aggr", "corr", "command aggr.corr(X_1:bat[:bte], X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcorr;", "" ] -[ "aggr", "corr", "command aggr.corr(X_1:bat[:dbl], X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcorr;", "" ] -[ "aggr", "corr", "command aggr.corr(X_1:bat[:flt], X_2:bat[:flt], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcorr;", "" ] -[ "aggr", "corr", "command aggr.corr(X_1:bat[:int], X_2:bat[:int], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcorr;", "" ] -[ "aggr", "corr", "command aggr.corr(X_1:bat[:lng], X_2:bat[:lng], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcorr;", "" ] -[ "aggr", "corr", "command aggr.corr(X_1:bat[:sht], X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcorr;", "" ] -[ "aggr", "corr", "command aggr.corr(X_1:bat[:any_2], X_2:bat[:any_2]):dbl ", "ALGcorr;", "" ] -[ "aggr", "count", "command aggr.count(X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:any_2], X_4:bit):bat[:lng] ", "AGGRcount3;", "" ] -[ "aggr", "count", "command aggr.count(X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:any_2]):bat[:lng] ", "AGGRcount3nils;", "" ] -[ "aggr", "count", "command aggr.count(X_1:bat[:any], X_2:bat[:oid]):lng ", "ALGcountCND_bat;", "" ] -[ "aggr", "count", "command aggr.count(X_1:bat[:any], X_2:bat[:oid], X_3:bit):lng ", "ALGcountCND_nil;", "" ] -[ "aggr", "count", "command aggr.count(X_1:bat[:any]):lng ", "ALGcount_bat;", "" ] -[ "aggr", "count", "command aggr.count(X_1:bat[:any], X_2:bit):lng ", "ALGcount_nil;", "" ] -[ "aggr", "count_no_nil", "command aggr.count_no_nil(X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:any_2]):bat[:lng] ", "AGGRcount3nonils;", "" ] -[ "aggr", "count_no_nil", "command aggr.count_no_nil(X_1:bat[:any_2], X_2:bat[:oid]):lng ", "ALGcountCND_no_nil;", "" ] -[ "aggr", "count_no_nil", "command aggr.count_no_nil(X_1:bat[:any_2]):lng ", "ALGcount_no_nil;", "" ] -[ "aggr", "covariance", "command aggr.covariance(X_1:bat[:bte], X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariance;", "" ] -[ "aggr", "covariance", "command aggr.covariance(X_1:bat[:dbl], X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariance;", "" ] -[ "aggr", "covariance", "command aggr.covariance(X_1:bat[:flt], X_2:bat[:flt], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariance;", "" ] -[ "aggr", "covariance", "command aggr.covariance(X_1:bat[:int], X_2:bat[:int], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariance;", "" ] -[ "aggr", "covariance", "command aggr.covariance(X_1:bat[:lng], X_2:bat[:lng], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariance;", "" ] -[ "aggr", "covariance", "command aggr.covariance(X_1:bat[:sht], X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariance;", "" ] -[ "aggr", "covariance", "command aggr.covariance(X_1:bat[:any_2], X_2:bat[:any_2]):dbl ", "ALGcovariance;", "" ] -[ "aggr", "covariancep", "command aggr.covariancep(X_1:bat[:bte], X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariancep;", "" ] -[ "aggr", "covariancep", "command aggr.covariancep(X_1:bat[:dbl], X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariancep;", "" ] -[ "aggr", "covariancep", "command aggr.covariancep(X_1:bat[:flt], X_2:bat[:flt], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariancep;", "" ] -[ "aggr", "covariancep", "command aggr.covariancep(X_1:bat[:int], X_2:bat[:int], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariancep;", "" ] -[ "aggr", "covariancep", "command aggr.covariancep(X_1:bat[:lng], X_2:bat[:lng], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariancep;", "" ] -[ "aggr", "covariancep", "command aggr.covariancep(X_1:bat[:sht], X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:any_1]):bat[:dbl] ", "AGGRcovariancep;", "" ] -[ "aggr", "covariancep", "command aggr.covariancep(X_1:bat[:any_2], X_2:bat[:any_2]):dbl ", "ALGcovariancep;", "" ] -[ "aggr", "exist", "command aggr.exist(X_1:bat[:any_2], X_2:any_1):bit ", "ALGexist;", "" ] -[ "aggr", "exist", "pattern aggr.exist(X_1:any_1):bit ", "SQLexist;", "" ] -[ "aggr", "jsonaggr", "command aggr.jsonaggr(X_1:bat[:dbl]):str ", "JSONgroupStr;", "" ] -[ "aggr", "jsonaggr", "command aggr.jsonaggr(X_1:bat[:str]):str ", "JSONgroupStr;", "" ] -[ "aggr", "max", "command aggr.max(X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:any_2]):bat[:any_1] ", "AGGRmax3;", "" ] -[ "aggr", "max", "command aggr.max(X_1:bat[:any_2]):any_2 ", "ALGmaxany;", "" ] -[ "aggr", "max", "command aggr.max(X_1:bat[:any_2], X_2:bit):any_2 ", "ALGmaxany_skipnil;", "" ] -[ "aggr", "median", "command aggr.median(X_1:bat[:any_1]):any_1 ", "AGGRmedian;", "" ] -[ "aggr", "median_avg", "command aggr.median_avg(X_1:bat[:any_1]):dbl ", "AGGRmedian_avg;", "" ] -[ "aggr", "min", "command aggr.min(X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:any_2]):bat[:any_1] ", "AGGRmin3;", "" ] -[ "aggr", "min", "command aggr.min(X_1:bat[:any_2]):any_2 ", "ALGminany;", "" ] -[ "aggr", "min", "command aggr.min(X_1:bat[:any_2], X_2:bit):any_2 ", "ALGminany_skipnil;", "" ] -[ "aggr", "not_anyequal", "pattern aggr.not_anyequal(X_1:any_1, X_2:any_1):bit ", "CMDvarNE;", "" ] -[ "aggr", "not_exist", "pattern aggr.not_exist(X_1:any_1):bit ", "SQLnot_exist;", "" ] -[ "aggr", "not_unique", "command aggr.not_unique(X_1:bat[:oid]):bit ", "not_unique;", "" ] -[ "aggr", "null", "command aggr.null(X_1:bat[:any_1]):bit ", "SQLnil;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:bte] ", "AGGRprod3_bte;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:dbl], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRprod3_dbl;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRprod3_dbl;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1]):bat[:flt] ", "AGGRprod3_flt;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:int] ", "AGGRprod3_int;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1]):bat[:int] ", "AGGRprod3_int;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:int] ", "AGGRprod3_int;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:lng] ", "AGGRprod3_lng;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1]):bat[:lng] ", "AGGRprod3_lng;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:any_1]):bat[:lng] ", "AGGRprod3_lng;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:lng] ", "AGGRprod3_lng;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:sht] ", "AGGRprod3_sht;", "" ] -[ "aggr", "prod", "command aggr.prod(X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:sht] ", "AGGRprod3_sht;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte]):bte ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte]):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte]):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte]):sht ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid]):bte ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid]):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid]):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid]):sht ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid], X_3:bit):bte ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid], X_3:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid], X_3:bit):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid], X_3:bit):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bat[:oid], X_3:bit):sht ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bit):bte ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bit):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bit):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:bte], X_2:bit):sht ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:dbl]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:dbl], X_2:bat[:oid]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:dbl], X_2:bat[:oid], X_3:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:dbl], X_2:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:flt]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:flt]):flt ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:flt], X_2:bat[:oid]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:flt], X_2:bat[:oid]):flt ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:flt], X_2:bat[:oid], X_3:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:flt], X_2:bat[:oid], X_3:bit):flt ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:flt], X_2:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:flt], X_2:bit):flt ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int]):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int]):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int], X_2:bat[:oid]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int], X_2:bat[:oid]):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int], X_2:bat[:oid]):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int], X_2:bat[:oid], X_3:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int], X_2:bat[:oid], X_3:bit):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int], X_2:bat[:oid], X_3:bit):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int], X_2:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int], X_2:bit):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:int], X_2:bit):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:lng]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:lng]):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:lng], X_2:bat[:oid]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:lng], X_2:bat[:oid]):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:lng], X_2:bat[:oid], X_3:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:lng], X_2:bat[:oid], X_3:bit):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:lng], X_2:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:lng], X_2:bit):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht]):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht]):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht]):sht ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bat[:oid]):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bat[:oid]):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bat[:oid]):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bat[:oid]):sht ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bat[:oid], X_3:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bat[:oid], X_3:bit):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bat[:oid], X_3:bit):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bat[:oid], X_3:bit):sht ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bit):dbl ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bit):int ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bit):lng ", "CMDBATprod;", "" ] -[ "aggr", "prod", "pattern aggr.prod(X_1:bat[:sht], X_2:bit):sht ", "CMDBATprod;", "" ] -[ "aggr", "quantile", "command aggr.quantile(X_1:bat[:any_1], X_2:bat[:dbl]):any_1 ", "AGGRquantile;", "" ] -[ "aggr", "quantile_avg", "command aggr.quantile_avg(X_1:bat[:any_1], X_2:bat[:dbl]):dbl ", "AGGRquantile_avg;", "" ] -[ "aggr", "stdev", "command aggr.stdev(X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;", "" ] -[ "aggr", "stdev", "command aggr.stdev(X_1:bat[:dbl], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;", "" ] -[ "aggr", "stdev", "command aggr.stdev(X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;", "" ] -[ "aggr", "stdev", "command aggr.stdev(X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;", "" ] -[ "aggr", "stdev", "command aggr.stdev(X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;", "" ] -[ "aggr", "stdev", "command aggr.stdev(X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;", "" ] -[ "aggr", "stdev", "command aggr.stdev(X_1:bat[:any_2]):dbl ", "ALGstdev;", "" ] -[ "aggr", "stdevp", "command aggr.stdevp(X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdevp3_dbl;", "" ] -[ "aggr", "stdevp", "command aggr.stdevp(X_1:bat[:dbl], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdevp3_dbl;", "" ] -[ "aggr", "stdevp", "command aggr.stdevp(X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdevp3_dbl;", "" ] -[ "aggr", "stdevp", "command aggr.stdevp(X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdevp3_dbl;", "" ] -[ "aggr", "stdevp", "command aggr.stdevp(X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdevp3_dbl;", "" ] -[ "aggr", "stdevp", "command aggr.stdevp(X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ", "AGGRstdevp3_dbl;", "" ] -[ "aggr", "stdevp", "command aggr.stdevp(X_1:bat[:any_2]):dbl ", "ALGstdevp;", "" ] -[ "aggr", "str_group_concat", "command aggr.str_group_concat(X_1:bat[:str], X_2:bat[:oid], X_3:bat[:any_1]):bat[:str] ", "AGGRstr_group_concat;", "" ] -[ "aggr", "str_group_concat", "command aggr.str_group_concat(X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bat[:any_1]):bat[:str] ", "AGGRstr_group_concat_sep;", "" ] -[ "aggr", "str_group_concat", "pattern aggr.str_group_concat(X_1:bat[:str]):str ", "CMDBATstr_group_concat;", "" ] -[ "aggr", "str_group_concat", "pattern aggr.str_group_concat(X_1:bat[:str], X_2:bat[:oid]):str ", "CMDBATstr_group_concat;", "" ] -[ "aggr", "str_group_concat", "pattern aggr.str_group_concat(X_1:bat[:str], X_2:bat[:oid], X_3:bit):str ", "CMDBATstr_group_concat;", "" ] -[ "aggr", "str_group_concat", "pattern aggr.str_group_concat(X_1:bat[:str], X_2:bat[:str]):str ", "CMDBATstr_group_concat;", "" ] -[ "aggr", "str_group_concat", "pattern aggr.str_group_concat(X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid]):str ", "CMDBATstr_group_concat;", "" ] -[ "aggr", "str_group_concat", "pattern aggr.str_group_concat(X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bit):str ", "CMDBATstr_group_concat;", "" ] -[ "aggr", "str_group_concat", "pattern aggr.str_group_concat(X_1:bat[:str], X_2:bat[:str], X_3:bit):str ", "CMDBATstr_group_concat;", "" ] -[ "aggr", "str_group_concat", "pattern aggr.str_group_concat(X_1:bat[:str], X_2:bit):str ", "CMDBATstr_group_concat;", "" ] -[ "aggr", "suball", "pattern aggr.suball(X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bat[:oid], X_5:bit):bat[:any_1] ", "SQLall_grp;", "" ] -[ "aggr", "suball", "pattern aggr.suball(X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit):bat[:any_1] ", "SQLall_grp;", "" ] -[ "aggr", "suballnotequal", "pattern aggr.suballnotequal(X_1:bat[:any_1], X_2:bat[:any_1], X_3:bat[:oid], X_4:bat[:oid], X_5:bat[:oid], X_6:bat[:oid], X_7:bit):bat[:bit] ", "SQLallnotequal_grp2;", "" ] -[ "aggr", "suballnotequal", "pattern aggr.suballnotequal(X_1:bat[:any_1], X_2:bat[:any_1], X_3:bat[:oid], X_4:bat[:oid], X_5:bat[:oid], X_6:bit):bat[:bit] ", "SQLallnotequal_grp2;", "" ] _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list