Changeset: c4905d3b2c19 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c4905d3b2c19 Modified Files: monetdb5/mal/mal_parser.c monetdb5/mal/mal_session.c Branch: resource_management Log Message:
merge with default diffs (255 lines): diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -48,7 +48,12 @@ jobs: ref: ${{ github.ref }} - name: install pymonetdb cryptography + run: pip3 install --user --upgrade pymonetdb cryptography + if: runner.os != 'macOS' + + - name: install pymonetdb cryptography run: pip3 install --user --break-system-packages --upgrade pymonetdb cryptography + if: runner.os == 'macOS' - name: make MonetDB on linux run: | diff --git a/ChangeLog.Aug2024 b/ChangeLog.Aug2024 --- a/ChangeLog.Aug2024 +++ b/ChangeLog.Aug2024 @@ -1,10 +1,3 @@ # ChangeLog file for devel # This file is updated with Maddlog -* Thu Oct 17 2024 Niels Nes <ni...@cwi.nl> -- Changed generic Decimal handling (ie without digits/scale), old cased - mapped always into dec(18,3) now this is only done in case of create of - a column. In other cases the coercion to the correct decimal type is - based on the input data type. For *api (LANG*PY/C(pp)/R) we no longer - allow generic decimal type in the function definitions. - diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c --- a/monetdb5/mal/mal_parser.c +++ b/monetdb5/mal/mal_parser.c @@ -407,7 +407,7 @@ MALlookahead(Client cntxt, str kw, int l !isdigit((unsigned char) (CURRENT(cntxt)[length]))) { return 1; } - /* check for captialized versions */ + /* check for capitalized versions */ for (i = 0; i < length; i++) if (tolower(CURRENT(cntxt)[i]) != kw[i]) return 0; @@ -901,7 +901,7 @@ typeElm(Client cntxt, int def) * The Parser * The client is responsible to collect the * input for parsing in a single string before calling the parser. - * Once the input is available parsing runs in a critial section for + * Once the input is available parsing runs in a critical section for * a single client thread. * * The parser uses the rigid structure of the language to speedup diff --git a/monetdb5/mal/mal_session.c b/monetdb5/mal/mal_session.c --- a/monetdb5/mal/mal_session.c +++ b/monetdb5/mal/mal_session.c @@ -376,8 +376,6 @@ MSscheduleClient(str command, str peer, mnstr_settimeout(c->fdin->s, 50, is_exiting, NULL); msg = MSserveClient(c); if (msg != MAL_SUCCEED) { - mnstr_printf(fout, "!could not serve client\n"); - exit_streams(fin, fout); freeException(msg); } } 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 @@ -862,7 +862,7 @@ SQLinsert_val(READERtask *task, int col, adt = fmt->frstr(fmt, fmt->adt, s); } - lng row = BATcount(fmt->c) + 1; + lng row = task->cnt + idx + 1; if (adt == NULL) { if (task->rowerror) { err = SQLload_error(task, idx, task->as->nr_attrs); diff --git a/sql/test/BugTracker-2024/Tests/7587-rejectmismatch.csv.gz b/sql/test/BugTracker-2024/Tests/7587-rejectmismatch.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..ba884da429e0896ea00398b55b869a49390c83c6 GIT binary patch literal 78495 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 M{+=R#d-PZT52+eRRR910 diff --git a/sql/test/BugTracker-2024/Tests/7587-rejectmismatch.test b/sql/test/BugTracker-2024/Tests/7587-rejectmismatch.test new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2024/Tests/7587-rejectmismatch.test @@ -0,0 +1,50 @@ +statement ok +START TRANSACTION; + +statement ok +CALL sys.clearrejects(); + +statement ok +CREATE TABLE foo(i INT, t TEXT, j INT); + +-- The file rejectmismatch.csv contains lines of the form +-- 16,"bananabananabananabananabananabananabananabananabananabananabananabananabananabananabananabanana16",16 +-- +-- So every line starts with its line number, 1-based. +-- However, the string '99' is replaced with 'boe' +-- so some of the lines will be rejected + +statement ok +COPY INTO foo +FROM '7587-rejectmismatch.csv.gz' ON CLIENT +USING DELIMITERS ',', E'\n', '"' +NO ESCAPE +BEST EFFORT + +-- 111 rejected lines, to be precise + +query I +SELECT COUNT(*) FROM sys.rejects +---- +111 + +-- Let's look at the first difference + +query TT nosort +WITH temp AS ( + SELECT + CAST(rowid AS TEXT) AS rowid, + splitpart(input, ',', 1) AS linenr, + rowid AS n + FROM sys.rejects +) +SELECT rowid, linenr FROM temp +WHERE rowid <> linenr +ORDER BY n +LIMIT 1 +---- + + + +statement ok +ROLLBACK diff --git a/sql/test/BugTracker-2024/Tests/All b/sql/test/BugTracker-2024/Tests/All --- a/sql/test/BugTracker-2024/Tests/All +++ b/sql/test/BugTracker-2024/Tests/All @@ -92,3 +92,4 @@ 7570-timestamp-str 7574-startswith-bug 7580-date-diff 7582-ddl-exists +7587-rejectmismatch _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org