Changeset: f877fec382a7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f877fec382a7
Modified Files:
monetdb5/mal/mal_import.c
sql/backends/monet5/sql_scenario.c
sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.err
sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.out
Branch: default
Log Message:
Merge with Jul2017 branch.
diffs (116 lines):
diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c
--- a/monetdb5/mal/mal_import.c
+++ b/monetdb5/mal/mal_import.c
@@ -170,19 +170,31 @@ malInclude(Client c, str name, int listi
(void) p;
{
size_t mal_init_len = strlen(mal_init_inline);
- buffer* mal_init_buf = buffer_create(mal_init_len);
- stream* mal_init_stream = buffer_rastream(mal_init_buf, name);
+ buffer* mal_init_buf;
+ stream* mal_init_stream;
+
+ if ((mal_init_buf = GDKmalloc(sizeof(buffer))) == NULL)
+ throw(MAL, "malInclude", MAL_MALLOC_FAIL);
+ if ((mal_init_stream = buffer_rastream(mal_init_buf, name)) ==
NULL) {
+ GDKfree(mal_init_buf);
+ throw(MAL, "malInclude", MAL_MALLOC_FAIL);
+ }
buffer_init(mal_init_buf, mal_init_inline, mal_init_len);
c->srcFile = name;
c->yycur = 0;
c->bak = NULL;
- c->fdin = bstream_create(mal_init_stream, mal_init_len);
+ if ((c->fdin = bstream_create(mal_init_stream, mal_init_len))
== NULL) {
+ mnstr_destroy(mal_init_stream);
+ GDKfree(mal_init_buf);
+ throw(MAL, "malInclude", MAL_MALLOC_FAIL);
+ }
bstream_next(c->fdin);
parseMAL(c, c->curprg, 1, INT_MAX);
free(mal_init_buf);
free(mal_init_stream);
free(c->fdin);
c->fdin = NULL;
+ GDKfree(mal_init_buf);
}
#else
if ((filename = malResolveFile(name)) != NULL) {
diff --git a/sql/backends/monet5/sql_scenario.c
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -496,18 +496,28 @@ SQLinitClient(Client c)
maybeupgrade = 0;
{
size_t createdb_len = strlen(createdb_inline);
- buffer* createdb_buf = buffer_create(createdb_len);
- stream* createdb_stream = buffer_rastream(createdb_buf,
"createdb.sql");
- bstream* createdb_bstream =
bstream_create(createdb_stream, createdb_len);
+ buffer* createdb_buf;
+ stream* createdb_stream;
+ bstream* createdb_bstream;
+ if ((createdb_buf = GDKmalloc(sizeof(buffer))) == NULL)
+ throw(MAL, "createdb", MAL_MALLOC_FAIL);
buffer_init(createdb_buf, createdb_inline,
createdb_len);
+ if ((createdb_stream = buffer_rastream(createdb_buf,
"createdb.sql")) == NULL) {
+ GDKfree(createdb_buf);
+ throw(MAL, "createdb", MAL_MALLOC_FAIL);
+ }
+ if ((createdb_bstream = bstream_create(createdb_stream,
createdb_len)) == NULL) {
+ mnstr_destroy(createdb_stream);
+ GDKfree(createdb_buf);
+ throw(MAL, "createdb", MAL_MALLOC_FAIL);
+ }
if (bstream_next(createdb_bstream) >= 0)
msg = SQLstatementIntern(c,
&createdb_bstream->buf, "sql.init", TRUE, FALSE, NULL);
else
msg = createException(MAL, "createdb",
SQLSTATE(42000) "Could not load inlined createdb script");
- free(createdb_buf);
- free(createdb_stream);
- free(createdb_bstream);
+ bstream_destroy(createdb_bstream);
+ GDKfree(createdb_buf);
if (m->sa)
sa_destroy(m->sa);
m->sa = NULL;
diff --git
a/sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.err
b/sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.err
---
a/sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.err
+++
b/sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.err
@@ -31,10 +31,10 @@ stderr of test 'aggr_udf_with_more_than_
MAPI = (monetdb) /var/tmp/mtest-31488/.s.monetdb.35710
QUERY = SELECT groupnr, aggr2(value) FROM grouped_ints GROUP BY groupnr;
-ERROR = !SELECT: no such aggregate 'aggr2' (int(32))
-MAPI = (monetdb) /var/tmp/mtest-31488/.s.monetdb.35710
+ERROR = !SELECT: no such aggregate 'aggr2'
+MAPI = (monetdb) /var/tmp/mtest-58752/.s.monetdb.37612
QUERY = SELECT groupnr, aggr2(value, value, value) FROM grouped_ints GROUP BY
groupnr;
-ERROR = !SELECT: no such aggregate 'aggr2' (int(32), int(32), int(32))
+ERROR = !SELECT: no such aggregate 'aggr2'
# 16:36:13 >
# 16:36:13 > "Done."
diff --git
a/sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.out
b/sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.out
---
a/sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.out
+++
b/sql/test/BugTracker-2017/Tests/aggr_udf_with_more_than_2params.Bug-6385.stable.out
@@ -94,15 +94,15 @@ Ready.
#SELECT groupnr, aggr3(value, value, value) FROM grouped_ints GROUP BY groupnr;
% sys.grouped_ints, sys.L4 # table_name
% groupnr, L3 # name
-% int, int # type
-% 1, 1 # length
+% int, double # type
+% 1, 24 # length
[ 0, 9 ]
[ 1, 6 ]
#SELECT groupnr, aggr4(value, value, value, value) FROM grouped_ints GROUP BY
groupnr;
% sys.grouped_ints, sys.L4 # table_name
% groupnr, L3 # name
-% int, int # type
-% 1, 1 # length
+% int, double # type
+% 1, 24 # length
[ 0, 9 ]
[ 1, 6 ]
#DROP TABLE grouped_ints;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list