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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list