Changeset: b578cca12939 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b578cca12939
Added Files:
        sql/test/miscellaneous/Tests/table_udf_missing_var.py
        sql/test/miscellaneous/Tests/table_udf_missing_var.stable.err
        sql/test/miscellaneous/Tests/table_udf_missing_var.stable.out
        sql/test/subquery/Tests/subquery5.stable.err
        sql/test/subquery/Tests/subquery5.stable.out
Removed Files:
        debian/fix-deb.sh
Modified Files:
        clients/Tests/exports.stable.out
        clients/mapiclient/mclient.c
        clients/mapiclient/stethoscope.c
        clients/mapilib/mapi.c
        clients/mapilib/monetdb-mapi.pc.in
        common/stream/stream.c
        common/stream/stream.h
        common/utils/mcrypt.h
        common/utils/mutils.h
        configure.ag
        debian/monetdb5-sql.install
        gdk/Makefile.ag
        gdk/gdk.h
        gdk/gdk_aggr.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_calc.c
        gdk/gdk_group.c
        gdk/gdk_join.c
        gdk/gdk_private.h
        gdk/gdk_time.h
        gdk/gdk_unique.c
        gdk/gdk_utils.c
        gdk/gdk_utils.h
        monetdb5/modules/atoms/json.c
        sql/backends/monet5/UDF/capi/capi.c
        sql/backends/monet5/UDF/pyapi3/conversion3.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_statement.c
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
        sql/server/rel_psm.c
        sql/server/rel_schema.c
        sql/server/rel_select.c
        sql/server/rel_unnest.c
        sql/server/rel_updates.c
        sql/server/sql_mvc.c
        sql/server/sql_query.c
        sql/server/sql_query.h
        sql/storage/store.c
        sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out.single
        sql/test/miscellaneous/Tests/All
        sql/test/miscellaneous/Tests/declared_tables.sql
        sql/test/miscellaneous/Tests/declared_tables.stable.err
        sql/test/miscellaneous/Tests/declared_tables.stable.out
        sql/test/miscellaneous/Tests/groupby_error.sql
        sql/test/miscellaneous/Tests/groupby_error.stable.out
        sql/test/miscellaneous/Tests/simple_selects.sql
        sql/test/miscellaneous/Tests/simple_selects.stable.err
        sql/test/miscellaneous/Tests/simple_selects.stable.out
        sql/test/subquery/Tests/subquery3.sql
        sql/test/subquery/Tests/subquery3.stable.err
        sql/test/subquery/Tests/subquery3.stable.out
        sql/test/subquery/Tests/subquery5.sql
        tools/merovingian/daemon/forkmserver.c
        tools/merovingian/daemon/handlers.h
Branch: unlock
Log Message:

Merge with default branch.


diffs (truncated from 5415 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -9,7 +9,7 @@ stdout of test 'exports` in directory 'c
 int ALIGNsynced(BAT *b1, BAT *b2);
 int ATOMallocate(const char *nme);
 void *ATOMdup(int id, const void *val);
-uint8_t ATOMelmshift(int sz);
+uint8_t ATOMelmshift(int sz) __attribute__((__const__));
 char *ATOMformat(int id, const void *val);
 int ATOMindex(const char *nme);
 size_t ATOMlen(int id, const void *v);
@@ -319,7 +319,7 @@ size_t GDKuniqueid(size_t offset);
 gdk_return GDKupgradevarheap(BAT *b, var_t v, bool copyall, bool mayshare) 
__attribute__((__warn_unused_result__));
 lng GDKusec(void);
 int GDKverbose;
-const char *GDKversion(void);
+const char *GDKversion(void) __attribute__((__const__));
 size_t GDKvm_cursize(void);
 void *GDKzalloc(size_t size) __attribute__((__malloc__)) 
__attribute__((__alloc_size__(1))) __attribute__((__warn_unused_result__));
 void HASHdestroy(BAT *b);
@@ -441,33 +441,33 @@ BAT *canditer_slice(struct canditer *ci,
 BAT *canditer_slice2(struct canditer *ci, BUN lo1, BUN hi1, BUN lo2, BUN hi2);
 int closedir(DIR *dir);
 char *ctime_r(const time_t *restrict, char *restrict);
-date date_add_day(date dt, int days);
-date date_add_month(date dt, int months);
-int date_century(date dt);
-date date_create(int year, int month, int day);
-int date_day(date dt);
-int date_dayofweek(date dt);
-int date_dayofyear(date dt);
-int date_decade(date dt);
-int date_diff(date d1, date d2);
+date date_add_day(date dt, int days) __attribute__((__const__));
+date date_add_month(date dt, int months) __attribute__((__const__));
+int date_century(date dt) __attribute__((__const__));
+date date_create(int year, int month, int day) __attribute__((__const__));
+int date_day(date dt) __attribute__((__const__));
+int date_dayofweek(date dt) __attribute__((__const__));
+int date_dayofyear(date dt) __attribute__((__const__));
+int date_decade(date dt) __attribute__((__const__));
+int date_diff(date d1, date d2) __attribute__((__const__));
 ssize_t date_fromstr(const char *buf, size_t *len, date **d, bool external);
-int date_month(date dt);
-int date_quarter(date dt);
+int date_month(date dt) __attribute__((__const__));
+int date_quarter(date dt) __attribute__((__const__));
 ssize_t date_tostr(str *buf, size_t *len, const date *val, bool external);
-int date_weekofyear(date dt);
-int date_year(date dt);
-daytime daytime_add_usec(daytime tm, lng usec);
-daytime daytime_add_usec_modulo(daytime tm, lng usec);
-daytime daytime_create(int hour, int minute, int second, int usec);
+int date_weekofyear(date dt) __attribute__((__const__));
+int date_year(date dt) __attribute__((__const__));
+daytime daytime_add_usec(daytime tm, lng usec) __attribute__((__const__));
+daytime daytime_add_usec_modulo(daytime tm, lng usec) 
__attribute__((__const__));
+daytime daytime_create(int hour, int minute, int second, int usec) 
__attribute__((__const__));
 ssize_t daytime_fromstr(const char *buf, size_t *len, daytime **d, bool 
external);
-int daytime_hour(daytime tm);
-int daytime_min(daytime tm);
+int daytime_hour(daytime tm) __attribute__((__const__));
+int daytime_min(daytime tm) __attribute__((__const__));
 ssize_t daytime_precision_tostr(str *buf, size_t *len, const daytime dt, int 
precision, bool external);
-int daytime_sec(daytime tm);
-int daytime_sec_usec(daytime tm);
+int daytime_sec(daytime tm) __attribute__((__const__));
+int daytime_sec_usec(daytime tm) __attribute__((__const__));
 ssize_t daytime_tostr(str *buf, size_t *len, const daytime *val, bool 
external);
 ssize_t daytime_tz_fromstr(const char *buf, size_t *len, daytime **d, bool 
external);
-int daytime_usec(daytime tm);
+int daytime_usec(daytime tm) __attribute__((__const__));
 ssize_t dblFromStr(const char *src, size_t *len, dbl **dst, bool external);
 ssize_t dblToStr(str *dst, size_t *len, const dbl *src, bool external);
 const dbl dbl_nil;
@@ -524,7 +524,7 @@ int logger_sequence(logger *lg, int seq,
 gdk_return logger_upgrade_bat(logger *lg, const char *name, char tpe, oid id) 
__attribute__((__warn_unused_result__));
 void logger_with_ids(logger *lg);
 void *mdlopen(const char *library, int mode);
-const char *mercurial_revision(void);
+const char *mercurial_revision(void) __attribute__((__const__));
 int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name, 
const char *value);
 int mo_builtin_settings(opt **Set);
 char *mo_find_option(opt *set, int setlen, const char *name);
@@ -545,17 +545,17 @@ const sht sht_nil;
 ssize_t strFromStr(const char *restrict src, size_t *restrict len, str 
*restrict dst, bool external);
 const char str_nil[2];
 int strerror_r(int errnum, char *buf, size_t buflen);
-timestamp timestamp_add_month(timestamp t, int m);
-timestamp timestamp_add_usec(timestamp t, lng usec);
-timestamp timestamp_create(date dt, daytime tm);
+timestamp timestamp_add_month(timestamp t, int m) __attribute__((__const__));
+timestamp timestamp_add_usec(timestamp t, lng usec) __attribute__((__const__));
+timestamp timestamp_create(date dt, daytime tm) __attribute__((__const__));
 timestamp timestamp_current(void);
-date timestamp_date(timestamp t);
-daytime timestamp_daytime(timestamp t);
-lng timestamp_diff(timestamp t1, timestamp t2);
-timestamp timestamp_fromdate(date dt);
+date timestamp_date(timestamp t) __attribute__((__const__));
+daytime timestamp_daytime(timestamp t) __attribute__((__const__));
+lng timestamp_diff(timestamp t1, timestamp t2) __attribute__((__const__));
+timestamp timestamp_fromdate(date dt) __attribute__((__const__));
 ssize_t timestamp_fromstr(const char *buf, size_t *len, timestamp **d, bool 
external);
-timestamp timestamp_fromtime(time_t timeval);
-timestamp timestamp_fromusec(lng usec);
+timestamp timestamp_fromtime(time_t timeval) __attribute__((__const__));
+timestamp timestamp_fromusec(lng usec) __attribute__((__const__));
 ssize_t timestamp_precision_tostr(str *buf, size_t *len, timestamp val, int 
precision, bool external);
 ssize_t timestamp_tostr(str *buf, size_t *len, const timestamp *val, bool 
external);
 ssize_t timestamp_tz_fromstr(const char *buf, size_t *len, timestamp **ret, 
bool external);
@@ -669,7 +669,7 @@ char *mcrypt_SHA224Sum(const char *strin
 char *mcrypt_SHA256Sum(const char *string, size_t len);
 char *mcrypt_SHA384Sum(const char *string, size_t len);
 char *mcrypt_SHA512Sum(const char *string, size_t len);
-const char *mcrypt_getHashAlgorithms(void);
+const char *mcrypt_getHashAlgorithms(void) __attribute__((__const__));
 char *mcrypt_hashPassword(const char *algo, const char *password, const char 
*challenge);
 int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name, 
const char *value);
 int mo_builtin_settings(opt **Set);
@@ -2677,22 +2677,22 @@ int getFileNo(stream *s);
 size_t getFileSize(stream *s);
 stream *iconv_rstream(stream *restrict ss, const char *restrict charset, const 
char *restrict name);
 stream *iconv_wstream(stream *restrict ss, const char *restrict charset, const 
char *restrict name);
-bool isa_block_stream(stream *s);
+bool isa_block_stream(const stream *s);
 void mnstr_clearerr(stream *s);
 void mnstr_close(stream *s);
 void mnstr_destroy(stream *s);
-int mnstr_errnr(stream *s);
-char *mnstr_error(stream *s);
+int mnstr_errnr(const stream *s);
+char *mnstr_error(const stream *s);
 int mnstr_fgetpos(stream *restrict s, fpos_t *restrict p);
 int mnstr_flush(stream *s);
 int mnstr_fsetpos(stream *restrict s, fpos_t *restrict p);
 int mnstr_fsync(stream *s);
 buffer *mnstr_get_buffer(stream *s);
-bool mnstr_get_swapbytes(stream *s);
+bool mnstr_get_swapbytes(const stream *s);
 int mnstr_init(void);
-int mnstr_isalive(stream *s);
-bool mnstr_isbinary(stream *s);
-char *mnstr_name(stream *s);
+int mnstr_isalive(const stream *s);
+bool mnstr_isbinary(const stream *s);
+char *mnstr_name(const stream *s);
 int mnstr_printf(stream *restrict s, _In_z_ _Printf_format_string_ const char 
*restrict format, ...) __attribute__((__format__(__printf__, 2, 3)));
 ssize_t mnstr_read(stream *restrict s, void *restrict buf, size_t elmsize, 
size_t cnt);
 int mnstr_readBte(stream *restrict s, int8_t *restrict val);
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -687,7 +687,7 @@ SQLrow(int *len, int *numeric, char **re
                                                                
mnstr_printf(toConsole, "\\%03o", (unsigned char) *p);
                                                        else if (*p == '\302' &&
                                                                 (p[1] & 0xE0) 
== 0x80) {
-                                                               
mnstr_printf(toConsole, "\\u%04x", (p[1] & 0x3F) | 0x80);
+                                                               
mnstr_printf(toConsole, "\\u%04x", (unsigned) ((p[1] & 0x3F) | 0x80));
                                                                p++;
                                                        } else
                                                                
mnstr_write(toConsole, p, 1, 1);
@@ -705,7 +705,7 @@ SQLrow(int *len, int *numeric, char **re
                                                                
mnstr_printf(toConsole, "\\%03o", (unsigned char) *p);
                                                        else if (*p == '\302' &&
                                                                 (p[1] & 0xE0) 
== 0x80) {
-                                                               
mnstr_printf(toConsole, "\\u%04x", (p[1] & 0x3F) | 0x80);
+                                                               
mnstr_printf(toConsole, "\\u%04x", (unsigned) ((p[1] & 0x3F) | 0x80));
                                                                p++;
                                                        } else
                                                                
mnstr_write(toConsole, p, 1, 1);
@@ -753,7 +753,7 @@ SQLrow(int *len, int *numeric, char **re
                                                                
mnstr_printf(toConsole, "\\%03o", (unsigned char) *p);
                                                        else if (*p == '\302' &&
                                                                 (p[1] & 0xE0) 
== 0x80) {
-                                                               
mnstr_printf(toConsole, "\\u%04x", (p[1] & 0x3F) | 0x80);
+                                                               
mnstr_printf(toConsole, "\\u%04x", (unsigned) ((p[1] & 0x3F) | 0x80));
                                                                p++;
                                                        } else
                                                                
mnstr_write(toConsole, p, 1, 1);
diff --git a/clients/mapiclient/stethoscope.c b/clients/mapiclient/stethoscope.c
--- a/clients/mapiclient/stethoscope.c
+++ b/clients/mapiclient/stethoscope.c
@@ -79,7 +79,7 @@ static FILE *trace ;
  * Tuple level reformatting
  */
 
-static void
+static _Noreturn void
 usageStethoscope(void)
 {
     fprintf(stderr, "stethoscope [options] \n");
@@ -210,20 +210,14 @@ main(int argc, char **argv)
                        break;
                case '?':
                        usageStethoscope();
-                       /* a bit of a hack: look at the option that the
-                          current `c' is based on and see if we recognize
-                          it: if -? or --help, exit with 0, else with -1 */
-                       exit(strcmp(argv[optind - 1], "-?") == 0 || 
strcmp(argv[optind - 1], "--help") == 0 ? 0 : -1);
                default:
                        usageStethoscope();
-                       exit(-1);
                }
        }
 
 
        if(dbname == NULL){
                usageStethoscope();
-               exit(-1);
        }
 
        if(debug)
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -1248,6 +1248,8 @@ void
 mapi_noexplain(Mapi mid, const char *errorprefix)
 {
        assert(mid);
+       if (mid->noexplain)
+               free(mid->noexplain);
        mid->noexplain = errorprefix ? strdup(errorprefix) : NULL;
 }
 
diff --git a/clients/mapilib/monetdb-mapi.pc.in 
b/clients/mapilib/monetdb-mapi.pc.in
--- a/clients/mapilib/monetdb-mapi.pc.in
+++ b/clients/mapilib/monetdb-mapi.pc.in
@@ -4,15 +4,15 @@
 #
 # Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V.
 
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=${exec_prefix}
-libdir=${libdir}
-includedir=${includedir}
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
 
 Name: monetdb-mapi
 Description: MonetDB MAPI C-client libary
-Version: @MONETDB_VERSION@
+Version: @PACKAGE_VERSION@
 Requires: monetdb-stream openssl
 
-Libs: -L${libdir} -lmapi
+Libs: -L${libdir} -lmapi @SOCKET_LIBS@
 Cflags: -I${includedir}/monetdb
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -202,14 +202,14 @@ struct stream {
        ssize_t (*write)(stream *restrict s, const void *restrict buf, size_t 
elmsize, size_t cnt);
        void (*close)(stream *s);
        void (*clrerr)(stream *s);
-       char *(*error)(stream *s);
+       char *(*error)(const stream *s);
        void (*destroy)(stream *s);
        int (*flush)(stream *s);
        int (*fsync)(stream *s);
        int (*fgetpos)(stream *restrict s, fpos_t *restrict p);
        int (*fsetpos)(stream *restrict s, fpos_t *restrict p);
        void (*update_timeout)(stream *s);
-       int (*isalive)(stream *s);
+       int (*isalive)(const stream *s);
 };
 
 int
@@ -485,7 +485,7 @@ mnstr_destroy(stream *s)
 }
 
 char *
-mnstr_error(stream *s)
+mnstr_error(const stream *s)
 {
        if (s == NULL)
                return "Connection terminated";
@@ -558,7 +558,7 @@ mnstr_fsetpos(stream *restrict s, fpos_t
 }
 
 int
-mnstr_isalive(stream *s)
+mnstr_isalive(const stream *s)
 {
        if (s == NULL)
                return 0;
@@ -570,7 +570,7 @@ mnstr_isalive(stream *s)
 }
 
 char *
-mnstr_name(stream *s)
+mnstr_name(const stream *s)
 {
        if (s == NULL)
                return "connection terminated";
@@ -578,7 +578,7 @@ mnstr_name(stream *s)
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to