Changeset: 04c5f03a4924 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=04c5f03a4924 Removed Files: buildtools/autogen/setup.py Modified Files: .hgtags ChangeLog-Archive ChangeLog.Aug2018 MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/ChangeLog clients/mapiclient/dump.c clients/mapiclient/mclient.c clients/mapiclient/mhelp.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag debian/changelog gdk/gdk_logger.c gdk/gdk_logger.h gdk/libbat.rc libversions monetdb5/tools/libmonetdb5.rc sql/storage/bat/bat_logger.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h sql/storage/store.c sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out.FreeBSD sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out.Windows vertoo.data Branch: analytics Log Message:
Merge with default. diffs (truncated from 606 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -714,3 +714,6 @@ 3aaf6c916bd870cc478d3973241bc24cafbe1655 a242d6de1de3dc99a9583d96a61c53044108e576 Aug2018_release a2d8e19ac9d6f847dd59c5f12ff48aae815e6b5d Aug2018_9 a2d8e19ac9d6f847dd59c5f12ff48aae815e6b5d Aug2018_SP1_release +24d62811fd9372b1ee7525aa1cf2fc8860d20bf7 Aug2018_11 +a2d8e19ac9d6f847dd59c5f12ff48aae815e6b5d Aug2018_SP1_release +24d62811fd9372b1ee7525aa1cf2fc8860d20bf7 Aug2018_SP1_release diff --git a/ChangeLog-Archive b/ChangeLog-Archive --- a/ChangeLog-Archive +++ b/ChangeLog-Archive @@ -1,6 +1,9 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Wed Oct 10 2018 Sjoerd Mullender <sjo...@acm.org> - 11.31.11-20181011 +- Some subtle dependencies between RPMs have been fixed. + * Wed Feb 14 2018 Stefan Manegold <stefan.maneg...@cwi.nl> - 11.29.1-20180315 - mclient's execution time profiling options and output format have been changed. Instead of implicitly via the "--interactive"/"-i" diff --git a/ChangeLog.Aug2018 b/ChangeLog.Aug2018 --- a/ChangeLog.Aug2018 +++ b/ChangeLog.Aug2018 @@ -1,5 +1,3 @@ # ChangeLog file for devel # This file is updated with Maddlog * Wed Oct 10 2018 Sjoerd Mullender <sjo...@acm.org> -- Some subtle dependencies between RPMs have been fixed. - diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1062,6 +1062,14 @@ done %postun -p /sbin/ldconfig %changelog +* Thu Oct 11 2018 Sjoerd Mullender <sjo...@acm.org> - 11.31.11-20181011 +- Rebuilt. +- BZ#6648: key property potentially wrong after type conversion +- BZ#6649: Projection inside within transaction gives wrong results + +* Wed Oct 10 2018 Sjoerd Mullender <sjo...@acm.org> - 11.31.11-20181011 +- MonetDB: Some subtle dependencies between RPMs have been fixed. + * Fri Oct 05 2018 Sjoerd Mullender <sjo...@acm.org> - 11.31.9-20181005 - Rebuilt. - BZ#6640: timestamp_to_str returning incorrectly adjusted results diff --git a/buildtools/autogen/setup.py b/buildtools/autogen/setup.py deleted file mode 100755 --- a/buildtools/autogen/setup.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env python - -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# Copyright 1997 - July 2008 CWI, August 2008 - 2018 MonetDB B.V. - -from distutils.core import setup - -setup(name = "autogen", - version = "1.0", - description = "MonetDB autogen script", - author = "MonetDB Team, CWI", - author_email = "i...@monetdb.org", - url = "https://www.monetdb.org/", - maintainer = "Sjoerd Mullender", - maintainer_email = "i...@monetdb.org", - license = "Mozilla Public License, v. 2.0", - packages = ['autogen'], - scripts = ['autogen.py']) diff --git a/clients/ChangeLog b/clients/ChangeLog --- a/clients/ChangeLog +++ b/clients/ChangeLog @@ -1,3 +1,8 @@ # ChangeLog file for clients # This file is updated with Maddlog +* Thu Oct 11 2018 Martin van Dinther <martin.van.dint...@monetdbsolutions.com> +- The mclient program can now be quit by typing quit or exit on the + command-line. This makes it easier for novice users to quit the program + if they do not know that the standard command to quit is \q. + diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c --- a/clients/mapiclient/dump.c +++ b/clients/mapiclient/dump.c @@ -58,22 +58,20 @@ get_with_comments_as_clause(Mapi mid) "WHERE id = language_id" ")"; - MapiHdl hdl; - const char *comments_clause; - - hdl = mapi_query(mid, query); - if (mapi_error(mid)) { - if (hdl) { + bool has_sys_comments = false; + MapiHdl hdl = mapi_query(mid, query); + if (hdl) { + if (mapi_error(mid)) { mapi_explain_result(hdl, stderr); - mapi_close_handle(hdl); - } else - mapi_explain(mid, stderr); - return NULL; - } - comments_clause = mapi_fetch_row(hdl) ? new_clause : old_clause; - mapi_close_handle(hdl); + } else { + if (mapi_fetch_row(hdl)) + has_sys_comments = true; + } + mapi_close_handle(hdl); + } else + mapi_explain(mid, stderr); - return comments_clause; + return has_sys_comments ? new_clause : old_clause; } const char * @@ -82,6 +80,7 @@ get_comments_clause(Mapi mid) static const char *comments_clause = NULL; if (comments_clause == NULL) { comments_clause = get_with_comments_as_clause(mid); + assert(comments_clause != NULL); } return comments_clause; } @@ -935,9 +934,6 @@ describe_table(Mapi mid, const char *sch bool hashge; const char *comments_clause = get_comments_clause(mid); - if (comments_clause == NULL) - return 1; - if (schema == NULL) { if ((sname = strchr(tname, '.')) != NULL) { size_t len = sname - tname; @@ -1252,9 +1248,6 @@ describe_sequence(Mapi mid, const char * char *sname = NULL; const char *comments_clause = get_comments_clause(mid); - if (comments_clause == NULL) - return 1; - if (schema == NULL) { if ((sname = strchr(tname, '.')) != NULL) { size_t len = sname - tname; @@ -1354,9 +1347,6 @@ describe_schema(Mapi mid, const char *sn char schemas[5120]; const char *comments_clause = get_comments_clause(mid); - if (comments_clause == NULL) - return 1; - snprintf(schemas, sizeof(schemas), "%s " "SELECT s.name, a.name, c.remark " @@ -1612,10 +1602,8 @@ dump_function(Mapi mid, stream *toConsol int flang, ftype; const char *comments_clause = get_comments_clause(mid); - if (comments_clause == NULL) - return 1; - - if ((query = malloc(query_size)) == NULL) + query = malloc(query_size); + if (query == NULL) return 1; query_len = snprintf(query, query_size, @@ -2162,9 +2150,6 @@ dump_database(Mapi mid, stream *toConsol int query_len = 0; const char *comments_clause = get_comments_clause(mid); - if (comments_clause == NULL) - return 1; - query = malloc(query_size); if (!query) goto bailout; diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -2204,9 +2204,9 @@ showCommands(void) mnstr_printf(toConsole, "\\f - format using renderer {csv,tab,raw,sql,xml,trash,rowcount,expanded,sam}\n"); mnstr_printf(toConsole, "\\w# - set maximal page width (-1=unlimited, 0=terminal width, >0=limit to num)\n"); mnstr_printf(toConsole, "\\r# - set maximum rows per page (-1=raw)\n"); - mnstr_printf(toConsole, "\\L file - save client/server interaction\n"); + mnstr_printf(toConsole, "\\L file - save client-server interaction\n"); mnstr_printf(toConsole, "\\X - trace mclient code\n"); - mnstr_printf(toConsole, "\\q - terminate session\n"); + mnstr_printf(toConsole, "\\q - terminate session and quit mclient\n"); } #define MD_TABLE 1 @@ -2330,11 +2330,11 @@ doFile(Mapi mid, stream *fp, bool useins bufsiz = READBLOCK; buf = malloc(bufsiz); - if (buf == NULL) { fprintf(stderr,"Malloc for doFile failed"); exit(2); } + do { bool seen_null_byte = false; @@ -2392,7 +2392,6 @@ doFile(Mapi mid, stream *fp, bool useins /* end of file */ if (hdl == NULL) { /* nothing more to do */ - free(buf); goto bailout; } @@ -2425,11 +2424,18 @@ doFile(Mapi mid, stream *fp, bool useins line[5] = prepno < 10 ? ' ' : prepno / 10 + '0'; line[6] = prepno % 10 + '0'; } + if (strcmp(line, "exit\n") == 0) { + goto bailout; + } + break; + case 'q': + if (strcmp(line, "quit\n") == 0) { + goto bailout; + } break; case '\\': switch (line[1]) { case 'q': - free(buf); goto bailout; case 'X': /* toggle interaction trace */ @@ -2608,20 +2614,15 @@ doFile(Mapi mid, stream *fp, bool useins " LEFT OUTER JOIN comments c ON s.id = c.id\n" " ORDER BY system, name, sname, ntype)\n" ; - size_t len = strlen(with_clause) + 1500 + strlen(line); + const char *comments_clause = get_comments_clause(mid); + size_t len = strlen(comments_clause) + strlen(with_clause) + 400 + strlen(line); char *query = malloc(len); char *q = query, *endq = query + len; - char *name_column = hasSchema ? "fullname" : "name"; - const char *comments_clause = get_comments_clause(mid); if (query == NULL) { fprintf(stderr, "memory allocation failure\n"); continue; } - if (comments_clause == NULL) { - free(query); - continue; - } /* * | LINE | SCHEMA FILTER | NAME FILTER | @@ -2633,10 +2634,8 @@ doFile(Mapi mid, stream *fp, bool useins * | "data.my*" | no | fullname LIKE 'data.my%' | * | "*a.my*" | no | fullname LIKE '%a.my%' | */ - q += snprintf(q, endq - q, "%s", comments_clause); - q += snprintf(q, endq - q, "%s", with_clause); - q += snprintf(q, endq - q, " SELECT type, fullname, remark FROM describe_all_objects"); - q += snprintf(q, endq - q, " WHERE (ntype & %u) > 0", x); + q += snprintf(q, endq - q, "%s%s", comments_clause, with_clause); + q += snprintf(q, endq - q, " SELECT type, fullname, remark FROM describe_all_objects WHERE (ntype & %u) > 0", x); if (!wantsSystem) { q += snprintf(q, endq - q, " AND NOT system"); } @@ -2644,7 +2643,7 @@ doFile(Mapi mid, stream *fp, bool useins q += snprintf(q, endq - q, " AND (sname IS NULL OR sname = current_schema)"); } if (*line) { - q += snprintf(q, endq - q, " AND (%s LIKE '%s')", name_column, line); + q += snprintf(q, endq - q, " AND (%s LIKE '%s')", (hasSchema ? "fullname" : "name"), line); } q += snprintf(q, endq - q, " ORDER BY fullname, type, remark"); @@ -2950,6 +2949,7 @@ doFile(Mapi mid, stream *fp, bool useins /* reached on end of file */ assert(hdl == NULL); bailout: + free(buf); #ifdef HAVE_LIBREADLINE if (prompt) deinit_readline(); diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list