Changeset: 83f95eedf0c1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/83f95eedf0c1 Modified Files: .github/ISSUE_TEMPLATE/bug_report.md CMakeLists.txt MonetDB.spec clients/ChangeLog-Archive clients/Tests/MAL-signatures-hge.test clients/Tests/MAL-signatures.test clients/examples/C/streamcat.c clients/examples/C/testsfile.c clients/examples/perl/dbitest_extensive.pl clients/mapiclient/mclient.c clients/mapiclient/mhelp.c clients/mapilib/Tests/tlssecurity.py clients/mapilib/connect.c clients/mapilib/connect_openssl.c clients/mapilib/mapi.c clients/mapilib/mapi_intern.h clients/mapilib/monetdb-mapi.pc.in clients/odbc/driver/ODBCDbc.c clients/odbc/driver/ODBCDbc.h clients/odbc/driver/ODBCEnv.c clients/odbc/driver/ODBCEnv.h clients/odbc/driver/ODBCError.c clients/odbc/driver/ODBCError.h clients/odbc/driver/ODBCGlobal.h clients/odbc/driver/ODBCStmt.c clients/odbc/driver/ODBCStmt.h clients/odbc/driver/ODBCUtil.c clients/odbc/driver/ODBCUtil.h clients/odbc/driver/SQLAllocConnect.c clients/odbc/driver/SQLAllocEnv.c clients/odbc/driver/SQLAllocHandle.c clients/odbc/driver/SQLAllocStmt.c clients/odbc/driver/SQLBindCol.c clients/odbc/driver/SQLBindParameter.c clients/odbc/driver/SQLBrowseConnect.c clients/odbc/driver/SQLBulkOperations.c clients/odbc/driver/SQLCancel.c clients/odbc/driver/SQLCloseCursor.c clients/odbc/driver/SQLColAttribute.c clients/odbc/driver/SQLColAttributes.c clients/odbc/driver/SQLColumnPrivileges.c clients/odbc/driver/SQLColumns.c clients/odbc/driver/SQLConnect.c clients/odbc/driver/SQLCopyDesc.c clients/odbc/driver/SQLDataSources.c clients/odbc/driver/SQLDescribeCol.c clients/odbc/driver/SQLDescribeParam.c clients/odbc/driver/SQLDisconnect.c clients/odbc/driver/SQLDriverConnect.c clients/odbc/driver/SQLEndTran.c clients/odbc/driver/SQLError.c clients/odbc/driver/SQLExecDirect.c clients/odbc/driver/SQLExecute.c clients/odbc/driver/SQLExtendedFetch.c clients/odbc/driver/SQLFetch.c clients/odbc/driver/SQLFetchScroll.c clients/odbc/driver/SQLForeignKeys.c clients/odbc/driver/SQLFreeConnect.c clients/odbc/driver/SQLFreeEnv.c clients/odbc/driver/SQLFreeHandle.c clients/odbc/driver/SQLFreeStmt.c clients/odbc/driver/SQLGetConnectAttr.c clients/odbc/driver/SQLGetConnectOption.c clients/odbc/driver/SQLGetCursorName.c clients/odbc/driver/SQLGetData.c clients/odbc/driver/SQLGetDescField.c clients/odbc/driver/SQLGetDescRec.c clients/odbc/driver/SQLGetDiagField.c clients/odbc/driver/SQLGetDiagRec.c clients/odbc/driver/SQLGetEnvAttr.c clients/odbc/driver/SQLGetFunctions.c clients/odbc/driver/SQLGetInfo.c clients/odbc/driver/SQLGetStmtAttr.c clients/odbc/driver/SQLGetStmtOption.c clients/odbc/driver/SQLGetTypeInfo.c clients/odbc/driver/SQLMoreResults.c clients/odbc/driver/SQLNativeSql.c clients/odbc/driver/SQLNumParams.c clients/odbc/driver/SQLNumResultCols.c clients/odbc/driver/SQLParamData.c clients/odbc/driver/SQLParamOptions.c clients/odbc/driver/SQLPrepare.c clients/odbc/driver/SQLPrimaryKeys.c clients/odbc/driver/SQLProcedureColumns.c clients/odbc/driver/SQLProcedures.c clients/odbc/driver/SQLPutData.c clients/odbc/driver/SQLRowCount.c clients/odbc/driver/SQLSetConnectAttr.c clients/odbc/driver/SQLSetConnectOption.c clients/odbc/driver/SQLSetCursorName.c clients/odbc/driver/SQLSetDescField.c clients/odbc/driver/SQLSetDescRec.c clients/odbc/driver/SQLSetEnvAttr.c clients/odbc/driver/SQLSetParam.c clients/odbc/driver/SQLSetPos.c clients/odbc/driver/SQLSetScrollOptions.c clients/odbc/driver/SQLSetStmtAttr.c clients/odbc/driver/SQLSetStmtOption.c clients/odbc/driver/SQLSpecialColumns.c clients/odbc/driver/SQLStatistics.c clients/odbc/driver/SQLTablePrivileges.c clients/odbc/driver/SQLTables.c clients/odbc/driver/SQLTransact.c clients/odbc/samples/odbcsample1.c clients/odbc/setup/drvcfg.h clients/odbc/tests/ODBCmetadata.c clients/odbc/tests/odbcconnect.c clients/odbc/winsetup/install.c clients/odbc/winsetup/setup.c cmake/monetdb-options.cmake common/options/monet_options.h common/stream/lz4_stream.c common/stream/monetdb-stream.pc.in common/stream/stream.c common/stream/stream_internal.h common/stream/winio.c common/utils/msabaoth.c common/utils/rmd160.h ctest/cmake/set-cmake-vars.cmake ctest/cmake/set-dir-vars.cmake debian/changelog design.txt documentation/source/manual_pages/monetdbd.rst.in documentation/source/manual_pages/mserver5.rst.in gdk/ChangeLog-Archive gdk/gdk.h gdk/gdk_atoms.c gdk/gdk_bbp.c gdk/gdk_group.c gdk/gdk_heap.c gdk/gdk_logger.c gdk/gdk_posix.c gdk/gdk_posix.h gdk/gdk_rtree.c gdk/gdk_strimps.c gdk/gdk_system.c gdk/gdk_time.c gdk/monetdb-gdk.pc.in geom/documentation/functions.tex geom/lib/libgeom.c geom/monetdb5/geod.c geom/monetdb5/geom.c geom/sql/40_geom.sql geom/sql/pg_regression/Tests/All misc/ChangeLog-Archive misc/packages/deb/changelog misc/selinux/CMakeLists.txt monetdb5/ChangeLog-Archive monetdb5/extras/mal_optimizer_template/opt_sql_append.c monetdb5/extras/rapi/rapi.c monetdb5/mal/mal.c monetdb5/mal/mal.h monetdb5/mal/mal_authorize.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_embedded.c monetdb5/mal/mal_errors.h monetdb5/mal/mal_function.c monetdb5/mal/mal_import.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_resolve.c monetdb5/mal/mal_resource.c monetdb5/mal/mal_runtime.c monetdb5/mal/mal_session.c monetdb5/mal/mel.h monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/identifier.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/str.c monetdb5/modules/atoms/str.h monetdb5/modules/atoms/strptime.c monetdb5/modules/atoms/url.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/batstr.c monetdb5/modules/kernel/mmath.c monetdb5/modules/kernel/mmath_private.h monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/inspect.c monetdb5/modules/mal/language.c monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/mat.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/tablet.h monetdb5/modules/mal/tracer.c monetdb5/optimizer/opt_coercion.c monetdb5/optimizer/opt_commonTerms.c monetdb5/optimizer/opt_constants.c monetdb5/optimizer/opt_costModel.c monetdb5/optimizer/opt_dataflow.c monetdb5/optimizer/opt_deadcode.c monetdb5/optimizer/opt_emptybind.c monetdb5/optimizer/opt_generator.c monetdb5/optimizer/opt_inline.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_mitosis.c monetdb5/optimizer/opt_projectionpath.c monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_remap.c monetdb5/optimizer/opt_reorder.c monetdb5/optimizer/opt_support.h sql/ChangeLog-Archive sql/backends/monet5/generator/generator.c sql/backends/monet5/mal_backend.h sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/backends/monet5/sql_transaction.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/vaults/fits/fits.c sql/backends/monet5/vaults/shp/shp.c sql/benchmarks/alex/earth.c sql/benchmarks/scantest/run.all.oracle sql/common/sql_string.c sql/common/sql_types.c sql/common/sql_types.h sql/include/sql_catalog.h sql/rel.txt sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_optimize_exps.c sql/server/rel_optimize_others.c sql/server/rel_optimize_proj.c sql/server/rel_optimize_sel.c sql/server/rel_optimizer.c sql/server/rel_optimizer_private.h sql/server/rel_out2inner_join.txt sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_remote.c sql/server/rel_rewriter.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_statistics.c sql/server/rel_unnest.c sql/server/rel_updates.c sql/server/sql_datetime.c sql/server/sql_mvc.h sql/server/sql_scan.h sql/server/sql_semantic.c sql/server/sql_semantic.h sql/server/sql_var.c sql/storage/bat/bat_storage.c sql/storage/bat/bat_storage.h sql/storage/objectset.c sql/storage/sql_storage.h sql/storage/store.c sql/test/BugTracker-2009/Tests/All sql/test/miscellaneous/Tests/select_groupby.sql testing/Mconvert.py.in testing/Mtest.py.in testing/SQLogicConvertNotes testing/helpers.py testing/malmapi.py testing/mapicursor.py testing/sqltest.py tools/merovingian/ChangeLog-Archive tools/merovingian/client/monetdb.c tools/merovingian/daemon/argvcmds.c tools/merovingian/daemon/client.c tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/monetdbd.1.in tools/merovingian/daemon/multiplex-funnel.c tools/merovingian/daemon/snapshot.c tools/merovingian/utils/control.c tools/merovingian/utils/utils.c tools/mserver/mserver5.1.in Branch: Aug2024 Log Message:
English. Ran codespell and fixed a lot of what it reported. diffs (truncated from 5761 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 @@ -1,6 +1,6 @@ --- name: Bug report -about: Create a report to help us improve the sytem +about: Create a report to help us improve the system title: '' labels: '' assignees: '' diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,7 +57,7 @@ monetdb_default_compiler_options() include(monetdb-defines) -# required for symbol existance tests +# required for symbol existence tests if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") add_definitions(-D_XOPEN_SOURCE -D_GNU_SOURCE) set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE") diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -36,7 +36,7 @@ # for Enterprise Linux (EPEL) repository is not available, you can # disable its use by providing rpmbuild or mock with the "--without # epel" option. -# If the EPEL repository is availabe, or if building for Fedora, most +# If the EPEL repository is available, or if building for Fedora, most # optional sub packages can be built. We indicate that here by # setting the macro fedpkgs to 1. If the EPEL repository is not # available and we are not building for Fedora, we set fedpkgs to 0. diff --git a/clients/ChangeLog-Archive b/clients/ChangeLog-Archive --- a/clients/ChangeLog-Archive +++ b/clients/ChangeLog-Archive @@ -242,7 +242,7 @@ - The tool mnc was removed from installations * Wed Nov 7 2012 Sjoerd Mullender <sjo...@acm.org> - 11.15.1-20130212 -- msqldump: Implmented an option (--table/-t) to dump a single table. +- msqldump: Implemented an option (--table/-t) to dump a single table. - Changed msqdump's trace option to be in line with mclient. In both cases, the long option is --Xdebug and the short option is -X. @@ -251,7 +251,7 @@ * Thu Jul 19 2012 Gijs Molenaar <g.j.molen...@uva.nl> - 11.13.1-20121010 - all strings returned by python2 are unicode, removed use_unicode option -- python2 and 3 type convertion speed improvements +- python2 and 3 type conversion speed improvements - python2 uses new styl objects now (bug #3104) - split python2 and python3 @@ -260,7 +260,7 @@ returned by the SQL-server. * Fri Jun 29 2012 Sjoerd Mullender <sjo...@acm.org> - 11.11.1-20120706 -- ODBC: Fixed a bug where SQLNativeSql expected a statment handle instead +- ODBC: Fixed a bug where SQLNativeSql expected a statement handle instead of a connection handle. * Wed May 23 2012 Fabian Groffen <fab...@cwi.nl> - 11.9.7-20120607 @@ -411,7 +411,7 @@ * Mon Apr 18 2011 Fabian Groffen <fab...@cwi.nl> - 11.5.1-20110907 - When the first non-option argument of mclient does not refer to an - exising file, it now is taken as database name. This allows to simply + existing file, it now is taken as database name. This allows to simply do `mclient mydb`. * Fri Jul 1 2011 Fabian Groffen <fab...@cwi.nl> - 11.3.5-20110720 @@ -490,7 +490,7 @@ * Tue Sep 14 2010 Sjoerd Mullender <sjo...@acm.org> - 1.40.1-20101029 - The \d and \D commands now require a space if they are followed by a - table name. This is to accomodate future expansion where \d and \D + table name. This is to accommodate future expansion where \d and \D could be immediately followed by another letter to indicate the type of object of interest. - Implemented dumping of "external" functions. This fixes bug 2546. diff --git a/clients/Tests/MAL-signatures-hge.test b/clients/Tests/MAL-signatures-hge.test --- a/clients/Tests/MAL-signatures-hge.test +++ b/clients/Tests/MAL-signatures-hge.test @@ -3332,17 +3332,17 @@ aggr zero_or_one command aggr.zero_or_one(X_0:bat[:any_1]):any_1 zero_or_one; -if col contains exactly one value return this. Incase of more raise an exception else return nil +if col contains exactly one value return this. In case of more raise an exception else return nil aggr zero_or_one command aggr.zero_or_one(X_0:bat[:any_1], X_1:bit):any_1 zero_or_one_error; -if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil +if col contains exactly one value return this. In case of more raise an exception if err is true else return nil aggr zero_or_one command aggr.zero_or_one(X_0:bat[:any_1], X_1:bat[:bit]):any_1 zero_or_one_error_bat; -if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil +if col contains exactly one value return this. In case of more raise an exception if err is true else return nil alarm ctime unsafe command alarm.ctime():str @@ -3532,7 +3532,7 @@ algebra outerselect command algebra.outerselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) ALGouterselect; -Per input lid return atleast one row, if none of the predicates (p) hold, return a nil, else 'all' true cases. +Per input lid return at least one row, if none of the predicates (p) hold, return a nil, else 'all' true cases. algebra project pattern algebra.project(X_0:bat[:any_1], X_1:any_2):bat[:any_2] @@ -3977,7 +3977,7 @@ bat partition pattern bat.partition(X_0:bat[:any_1]):bat[:any_1]... CMDBATpartition; -Create a serie of slices over the BAT argument. The BUNs are distributed evenly. +Create a series of slices over the BAT argument. The BUNs are distributed evenly. bat replace command bat.replace(X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:any_1]):bat[:any_1] @@ -4042,7 +4042,7 @@ bat single pattern bat.single(X_0:any_1):bat[:any_1] CMDBATsingle; -Create a BAT with a single elemenet +Create a BAT with a single element bat vacuum command bat.vacuum(X_0:bat[:str]):bat[:str] @@ -35342,7 +35342,7 @@ batxml root command batxml.root(X_0:bat[:xml], X_1:str, X_2:str):bat[:xml] BATXMLroot; -Contruct the root nodes. +Construct the root nodes. batxml serialize command batxml.serialize(X_0:bat[:xml]):bat[:str] @@ -44712,7 +44712,7 @@ clients stop unsafe pattern clients.stop(X_0:int):void CLTstop; -Stop the query execution at the next eligble statement. +Stop the query execution at the next eligible statement. clients stopsession unsafe pattern clients.stopsession(X_0:int):void @@ -46337,7 +46337,7 @@ identifier identifier command identifier.identifier(X_0:str):identifier IDentifier; -Cast a string to an identifer +Cast a string to an identifier inet != command inet.!=(X_0:inet, X_1:inet):bit @@ -46487,7 +46487,7 @@ inspect getEnvironment command inspect.getEnvironment(X_0:str):str INSPECTgetEnvironmentKey; -Get the value of an environemnt variable +Get the value of an environment variable inspect getExistence pattern inspect.getExistence(X_0:str, X_1:str):bit @@ -46562,7 +46562,7 @@ io print pattern io.print(X_0:bat[:any]...):void IOtable; -BATs are printed with '#' for legend @lines, and the BUNs on seperate lines @between brackets, containing each to @comma separated values (head and tail). @If multiple BATs are passed for printing, @print() performs an implicit natural @join on the void head, producing a multi attribute table. +BATs are printed with '#' for legend @lines, and the BUNs on separate lines @between brackets, containing each to @comma separated values (head and tail). @If multiple BATs are passed for printing, @print() performs an implicit natural @join on the void head, producing a multi attribute table. io printf pattern io.printf(X_0:str):void @@ -46827,7 +46827,7 @@ language pass pattern language.pass(X_0:any_1):void MALpass; -Cheap instruction to disgard storage while retaining the dataflow dependency +Cheap instruction to discard storage while retaining the dataflow dependency logging compinfo pattern logging.compinfo() (X_0:bat[:int], X_1:bat[:str], X_2:bat[:str]) @@ -48982,7 +48982,7 @@ sql copy_from unsafe pattern sql.copy_from(X_0:ptr, X_1:str, X_2:str, X_3:str, X_4:str, X_5:str, X_6:lng, X_7:lng, X_8:int, X_9:str, X_10:int, X_11:int, X_12:str, X_13:str):bat[:any]... mvc_import_table_wrap; -Import a table from bstream s with the @given tuple and seperators (sep/rsep) +Import a table from bstream s with the @given tuple and separators (sep/rsep) sql copy_rejects pattern sql.copy_rejects() (X_0:bat[:lng], X_1:bat[:int], X_2:bat[:str], X_3:bat[:str]) @@ -49277,7 +49277,7 @@ sql eval unsafe pattern sql.eval(X_0:str, X_1:bit):void SQLstatement; -Compile and execute a single sql statement (and optionaly set the output to columnar format) +Compile and execute a single sql statement (and optionally set the output to columnar format) sql evalAlgebra unsafe pattern sql.evalAlgebra(X_0:str, X_1:bit):void diff --git a/clients/Tests/MAL-signatures.test b/clients/Tests/MAL-signatures.test --- a/clients/Tests/MAL-signatures.test +++ b/clients/Tests/MAL-signatures.test @@ -2767,17 +2767,17 @@ aggr zero_or_one command aggr.zero_or_one(X_0:bat[:any_1]):any_1 zero_or_one; -if col contains exactly one value return this. Incase of more raise an exception else return nil +if col contains exactly one value return this. In case of more raise an exception else return nil aggr zero_or_one command aggr.zero_or_one(X_0:bat[:any_1], X_1:bit):any_1 zero_or_one_error; -if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil +if col contains exactly one value return this. In case of more raise an exception if err is true else return nil aggr zero_or_one command aggr.zero_or_one(X_0:bat[:any_1], X_1:bat[:bit]):any_1 zero_or_one_error_bat; -if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil +if col contains exactly one value return this. In case of more raise an exception if err is true else return nil alarm ctime unsafe command alarm.ctime():str @@ -2967,7 +2967,7 @@ algebra outerselect command algebra.outerselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) ALGouterselect; -Per input lid return atleast one row, if none of the predicates (p) hold, return a nil, else 'all' true cases. +Per input lid return at least one row, if none of the predicates (p) hold, return a nil, else 'all' true cases. algebra project pattern algebra.project(X_0:bat[:any_1], X_1:any_2):bat[:any_2] @@ -3402,7 +3402,7 @@ bat partition pattern bat.partition(X_0:bat[:any_1]):bat[:any_1]... CMDBATpartition; -Create a serie of slices over the BAT argument. The BUNs are distributed evenly. +Create a series of slices over the BAT argument. The BUNs are distributed evenly. bat replace command bat.replace(X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:any_1]):bat[:any_1] @@ -3467,7 +3467,7 @@ bat single pattern bat.single(X_0:any_1):bat[:any_1] CMDBATsingle; -Create a BAT with a single elemenet +Create a BAT with a single element bat vacuum command bat.vacuum(X_0:bat[:str]):bat[:str] @@ -26432,7 +26432,7 @@ batxml root command batxml.root(X_0:bat[:xml], X_1:str, X_2:str):bat[:xml] BATXMLroot; -Contruct the root nodes. +Construct the root nodes. batxml serialize command batxml.serialize(X_0:bat[:xml]):bat[:str] @@ -33247,7 +33247,7 @@ clients stop unsafe pattern clients.stop(X_0:int):void CLTstop; -Stop the query execution at the next eligble statement. +Stop the query execution at the next eligible statement. clients stopsession unsafe pattern clients.stopsession(X_0:int):void @@ -34827,7 +34827,7 @@ identifier identifier command identifier.identifier(X_0:str):identifier IDentifier; -Cast a string to an identifer +Cast a string to an identifier inet != command inet.!=(X_0:inet, X_1:inet):bit @@ -34977,7 +34977,7 @@ inspect getEnvironment command inspect.getEnvironment(X_0:str):str INSPECTgetEnvironmentKey; -Get the value of an environemnt variable +Get the value of an environment variable inspect getExistence pattern inspect.getExistence(X_0:str, X_1:str):bit @@ -35052,7 +35052,7 @@ io print pattern io.print(X_0:bat[:any]...):void IOtable; -BATs are printed with '#' for legend @lines, and the BUNs on seperate lines @between brackets, containing each to @comma separated values (head and tail). @If multiple BATs are passed for printing, @print() performs an implicit natural @join on the void head, producing a multi attribute table. +BATs are printed with '#' for legend @lines, and the BUNs on separate lines @between brackets, containing each to @comma separated values (head and tail). @If multiple BATs are passed for printing, @print() performs an implicit natural @join on the void head, producing a multi attribute table. io _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org