Changeset: 63fffbda5706 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=63fffbda5706 Added Files: sql/test/subquery/Tests/subquery5.stable.err sql/test/subquery/Tests/subquery5.stable.out Modified Files: clients/Tests/exports.stable.out clients/mapiclient/mclient.c common/stream/stream.c common/stream/stream.h common/utils/mcrypt.h common/utils/mutils.h configure.ag gdk/gdk.h gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_group.c gdk/gdk_join.c gdk/gdk_private.h gdk/gdk_time.h gdk/gdk_unique.c gdk/gdk_utils.h monetdb5/modules/atoms/json.c sql/backends/monet5/UDF/pyapi3/conversion3.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_gencode.c sql/server/rel_exp.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_unnest.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/groupby_error.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/handlers.h Branch: default Log Message:
Merge with Jun2020 branch. diffs (truncated from 1449 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; @@ -523,7 +523,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); @@ -544,17 +544,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); @@ -668,7 +668,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); @@ -2676,22 +2676,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/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) } int -mnstr_errnr(stream *s) +mnstr_errnr(const stream *s) { if (s == NULL) return MNSTR_READ_ERROR; @@ -596,7 +596,7 @@ mnstr_clearerr(stream *s) } bool -mnstr_isbinary(stream *s) +mnstr_isbinary(const stream *s) { if (s == NULL) return false; @@ -604,7 +604,7 @@ mnstr_isbinary(stream *s) } bool -mnstr_get_swapbytes(stream *s) +mnstr_get_swapbytes(const stream *s) { if (s == NULL) return 0; @@ -661,7 +661,7 @@ destroy(stream *s) } static char * -error(stream *s) +error(const stream *s) { char buf[128]; @@ -2638,7 +2638,7 @@ socket_update_timeout(stream *s) #endif static int -socket_isalive(stream *s) +socket_isalive(const stream *s) { SOCKET fd = s->stream_data.s; #ifdef HAVE_POLL @@ -3519,7 +3519,7 @@ ic_update_timeout(stream *s) } static int -ic_isalive(stream *s) +ic_isalive(const stream *s) { struct icstream *ic = (struct icstream *) s->stream_data.p; @@ -4137,7 +4137,7 @@ bs_update_timeout(stream *ss) } static int -bs_isalive(stream *ss) +bs_isalive(const stream *ss) { struct bs *s; @@ -4758,7 +4758,7 @@ bs2_setpos(stream *ss, size_t pos) } bool -isa_block_stream(stream *s) +isa_block_stream(const stream *s) { assert(s != NULL); return s && _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list