Changeset: 6a3b25964a95 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6a3b25964a95
Modified Files:
monetdb5/extras/rapi/Tests/rapi02.stable.out
monetdb5/modules/mal/tablet.c
Branch: Jul2015
Log Message:
approved output
(re)added error messages when splitting rows fails
diffs (54 lines):
diff --git a/monetdb5/extras/rapi/Tests/rapi02.stable.out
b/monetdb5/extras/rapi/Tests/rapi02.stable.out
--- a/monetdb5/extras/rapi/Tests/rapi02.stable.out
+++ b/monetdb5/extras/rapi/Tests/rapi02.stable.out
@@ -112,7 +112,7 @@ Ready.
[ 0@0, 4 ]
[ 1@0, 20 ]
[ 2@0, 0 ]
-[ 3@0, 1 ]
+[ 3@0, 2 ]
#io.print(rintbi);
#--------------------------#
# h t # name
diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c
--- a/monetdb5/modules/mal/tablet.c
+++ b/monetdb5/modules/mal/tablet.c
@@ -713,7 +713,7 @@ typedef struct {
static void
tablet_error(READERtask *task, lng row, int col, str msg, str fcn)
{
- if (task->cntxt->error_row == NULL) {
+ if (task->cntxt->error_row != NULL) {
MT_lock_set(&errorlock, "tablet_error");
BUNappend(task->cntxt->error_row, &row, FALSE);
BUNappend(task->cntxt->error_fld, &col, FALSE);
@@ -722,13 +722,19 @@ tablet_error(READERtask *task, lng row,
if (task->as->error == NULL && (msg == NULL || (task->as->error
= GDKstrdup(msg)) == NULL))
task->as->error = M5OutOfMemory;
if (row != lng_nil)
- task->rowerror[row - 1]++;
+ task->rowerror[row]++;
#ifdef _DEBUG_TABLET_
mnstr_printf(GDKout, "#tablet_error: " LLFMT ",%d:%s:%s\n",
row, col, msg, fcn);
#endif
task->errorcnt++;
MT_lock_unset(&errorlock, "tablet_error");
+ } else {
+ MT_lock_set(&errorlock, "tablet_error");
+ if (task->as->error == NULL && (msg == NULL || (task->as->error
= GDKstrdup(msg)) == NULL))
+ task->as->error = M5OutOfMemory;
+ task->errorcnt++;
+ MT_lock_unset(&errorlock, "tablet_error");
}
}
@@ -994,7 +1000,7 @@ SQLload_parse_line(READERtask *task, int
mnstr_printf(GDKout, "after #1 %s\n", s);
#endif
if (!line) {
- str errline = SQLload_error(task,
task->top[task->cur]);
+ errline = SQLload_error(task,
task->top[task->cur]);
snprintf(errmsg, BUFSIZ, "Quote (%c)
missing", task->quote);
tablet_error(task, idx, (int) i,
errmsg, errline);
GDKfree(errline);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list