Changeset: 52b7b18fc058 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=52b7b18fc058
Modified Files:
sql/backends/monet5/sql.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_scenario.c
Branch: Nov2019
Log Message:
Properly convert int to BUN.
diffs (39 lines):
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -2904,7 +2904,8 @@ mvc_export_chunk_wrap(Client cntxt, MalB
(void) mb; /* NOT USED */
if (pci->argc == 5) {
offset = (BUN) *getArgReference_int(stk, pci, 3);
- nr = (BUN) *getArgReference_int(stk, pci, 4);
+ int cnt = *getArgReference_int(stk, pci, 4);
+ nr = cnt < 0 ? BUN_NONE : (BUN) cnt;
}
if ((msg = checkSQLContext(cntxt)) != NULL)
diff --git a/sql/backends/monet5/sql_result.c b/sql/backends/monet5/sql_result.c
--- a/sql/backends/monet5/sql_result.c
+++ b/sql/backends/monet5/sql_result.c
@@ -2563,7 +2563,7 @@ mvc_export_chunk(backend *b, stream *s,
cnt = BATcount(order);
if (offset >= BATcount(order))
cnt = 0;
- if (offset + cnt > BATcount(order))
+ if (cnt == BUN_NONE || offset + cnt > BATcount(order))
cnt = BATcount(order) - offset;
if (b->client->protocol != PROTOCOL_10) {
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
@@ -1104,7 +1104,9 @@ SQLparser(Client c)
n = sscanf(in->buf + in->pos + 7, "%d %d %d", &v, &off,
&len);
if (n == 2 || n == 3) {
- if (mvc_export_chunk(be, out, v, off, n == 3 ? len :
m->reply_size)) {
+ if (n == 2)
+ len = m->reply_size;
+ if (mvc_export_chunk(be, out, v, off, len < 0 ?
BUN_NONE : (BUN) len)) {
msg = createException(SQL, "SQLparser",
SQLSTATE(45000) "Result set construction failed");
goto finalize;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list