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

Reply via email to