1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00
Commit Graph

158 Commits

Author SHA1 Message Date
c30b490027 skip bad rows report test on multinode setup 2025-07-15 20:52:29 +04:00
1ce46b5e0b feature(cpimport): MCOL-5164 ignore all errors (-e all) 2025-07-15 20:52:29 +04:00
78c1b5034d Feature/mcol 4882 cpimport skip rows (#3594)
* feat(cpimport): MCOL-4882 add a parameter to skip header rows

* chore(cpimport): MCOL-4882 Use boost::program_options to arguments parsing

* feat(cpimport.bin): MCOL-4882 Add missing changes

* add test

* fix clang

* add missing cmdline argument

* fix bug

* Fix double lines skipping

* Fix incorrect --silent (-N) parsing

* fix default --max-errors processing

* fix overwriting default username

* move initialization to members declaration
2025-07-11 23:35:43 +04:00
dd4cfebaf4 change skip message for mcs114_comments test 2025-07-03 04:36:14 +04:00
9c0accb447 disable tests inclompatible with 11.4 2025-07-03 04:36:14 +04:00
1adb39db41 Fix merge error im the mysql-test/columnstore/basic/t/MCOL-5886-use-of-partitioned-tables-in-crossengine-steps 2025-07-03 04:36:14 +04:00
4df58ffa96 Check for --extern before importing functions in the MCOL-5572-autoincrement-filtering.test 2025-07-03 04:36:14 +04:00
d08766fd7d disable basic.MCOL-5572-autoincrement-filtering when running without --extern 2025-07-03 04:36:14 +04:00
06aff0bd0a Drop functions in the basic suite tests 2025-07-03 04:36:14 +04:00
72753308cd Revert "add cleanups to MTR"
This reverts commit 9dafef641a.
2025-07-03 04:36:14 +04:00
e95fef4f26 Fix MCOL-5572-autoincrement-filtering test 2025-07-03 04:36:14 +04:00
1c6985cbf5 add cleanups to MTR 2025-07-03 04:36:14 +04:00
ce8368defd Revert "add cleanups to MTR"
This reverts commit 9dafef641a.
2025-07-03 04:36:14 +04:00
069bdf47f5 fix MCOL-5572-autoincrement-filtering and mcol-5669 tests 2025-07-03 04:36:14 +04:00
f277a1f3d0 fix MCOL-5886-use-of-partitioned-tables-in-crossengine-steps test 2025-07-03 04:36:14 +04:00
bdf0a956ff Fix MCOL-5572-autoincrement-filtering test 2025-07-03 04:36:14 +04:00
3d64026d0a add cleanups to MTR 2025-07-03 04:36:14 +04:00
5831f578fe set charset in the mcs271_substring_index_function MTR test 2025-07-03 04:36:14 +04:00
e9c6c6b5d3 enable sequence engine in the mcol-4786 test 2025-07-03 04:36:14 +04:00
2d400d919d add have_inndb to MTR 2025-07-03 04:36:14 +04:00
38a5a7edec Fix charset in MTR 2025-07-03 04:36:14 +04:00
68f60cd695 Add functions including into MTR tests 2025-07-03 04:36:14 +04:00
7fd29de377 More disable tests in case of testing via Maxscale 2025-06-24 16:53:17 +04:00
1640e87058 disable tests incompatible with Maxscale 2025-06-24 16:53:17 +04:00
b7dbf89482 skip all tests with LOAD DATA in case of tests via Maxscale 2025-06-24 16:53:17 +04:00
780e34680f MCOL-6022 fix unstable mtrs 2025-06-18 14:31:56 +04:00
ef451af860 feat(ddl): MCOL-5744: better handling of utf8 charset aliases (#3174)
Server expands ut8_XXX aliases to utf8mb3_XXX or utf8mb4_XXX depending
on the UTF8_IS_UTF8MB3 setting in the OLD_MODE environment variable.

Server already has the necessary code implemented in the get_utf8_flag()
method of class THD. There are several uses of this flag and all we have
to do to be in line with server is to use it.

This patch does that for DDL as work on MCOL-5705 uncovered some
problems in that area.
2025-05-23 05:12:17 +04:00
5f6080e09c fix(join): Fixes MCOL-5056, an error of joining TEXT column from InnoDB (#3160)
We incorrectly identified TEXT columns from external tables as BLOB.
Alexander Barkov suggested a way to discriminate them which I
implemented here.
2025-05-23 05:12:17 +04:00
11324c468d feat(primproc,aggregegation)!: Changes for ROLLUP with single-phase aggregation (#3025)
The fix is simple: enable subtotals in single-phase aggregation and
disable parallel processing when there are subtotals and aggregation is
single-phase.
2025-05-23 05:12:17 +04:00
bd1622f331 feat(MCOL-5886): support InnoDB's table partitions in cross-engine joins
The purpose of this changeset is to obtain list of partitions from
SELECT_LEX structure and pass it down to joblist and then to
CrossEngineStep to pass to InnoDB.
2025-04-23 08:24:10 +03:00
1fddc0c41c Remove SHOW VARIABLES LIKE 'character_set%' from the mcs228 test 2025-04-16 02:01:32 +03:00
8c8e3ab842 Fix deprication warnings in the MTR with select * from .. into 2025-04-15 20:21:31 +04:00
8ca8119f36 fix(TNS): fix for duplicate DISTINCT output 2025-03-27 22:12:48 +00:00
90b4322470 feat(): propagated changes into SLTPoolAllocator and friends 2025-03-27 22:12:48 +00:00
2d69b49ba0 fix(utils): MCOL-4605 handle negative decimals in FROM_UNIXTIME (#3466) 2025-03-27 22:11:16 +00:00
60dc7550f1 fix(group by, having): MCOL-5776: GROUP BY/HAVING closer to server's (#3371)
This patch introduces an internal aggregate operator SELECT_SOME that
is automatically added to columns that are not in GROUP BY. It
"computes" some plausible value of the column (actually, last one
passed).

Along the way it fixes incorrect handling of HAVING being transferred
into WHERE, window function handling and a bit of other inconsistencies.
2024-12-20 19:11:47 +00:00
39a976c39a fix(ubsan): MCOL-5844 - iron out UBSAN reports
The most important fix here is the fix of possible buffer overrun in
DATEFORMAT() function. A "%W" format, repeated enough times, would
overflow the 256-bytes buffer for result. Now we use ostringstream to
construct result and we are safe.

Changes in date/time projection functions made me fix difference between
us and server behavior. The new, better behavior is reflected in changes
in tests' results.

Also, there was incorrect logic in TRUNCATE() and ROUND() functions in
computing the decimal "shift."
2024-12-10 20:30:58 +04:00
ddbdb97071 chore(tests): canonize tests after server MDEV-19052
chore(tests): canonize hex(-1) after some server fixes
chore(tools) update fullmtr manual runner
chore(tests): canonize hex values for negative
2024-09-05 20:34:23 +03:00
db4cb1d657 MCOL-4234 and MCOL 5772 cherry-picked into [stable 23.10] (#3226)
* MCOL-4234: improve GROUP BY and ORDER BY interaction (#3194)

This patch fixes the problem in MCOL-4234 and also generally improves
behavior of GROUP BY.

It does so by introducing a "dummy" aggregate and by wrapping columns
into it. This allows for columns that are not in GROUP BY to be used
more freely, for example, in SELECT * FROM tbl GROUP BY col - all
columns that are not "col" will be wrapped into an aggregate and query
will proceed to execution.

The dummy aggregate itself does nothing more than remember last value
passed into it.

There also an additional error message that tries to explain what types
of expressions can be wrapped into an aggregate.

* MCOL-5772: incorrect ORDER BY ordering for a columns not in GROUP BY (#3214)

When ORDER BY column is not in GROUP BY, is not an aggregate and there
is a SELECT column that is also not an aggregate, there was a problem:
ordering happened on the SELECTed column, not ORDERed one.

This patch fixes that particular problem and also performs some tidying
around newly added aggregate.

---------

Co-authored-by: Leonid Fedorov <79837786+mariadb-LeonidFedorov@users.noreply.github.com>
2024-06-28 00:31:53 +04:00
6c6fa7d5a4 MCOL-5328: PCRE based regexp regexp_substr regexp_instr regexp_replace [stable-23.10] (#3215)
* MCOL-5328: PCRE based regexp regexp_substr regexp_instr regexp_replace

* Add qa test for MCOL-5328

---------

Co-authored-by: Susil Behera <susil.behera@mariadb.com>
2024-06-27 14:20:08 +04:00
2cd8f716c1 Fix MCOL-5035, a difference in INSERT and UPDATE behavior
The UPDATE statement wrote NULL when the column set is DATETIME and
value is '0000-00-00 00:00:00'. The problem was inside WriteEngine's
handling of UPDATE statements and this is where heart of change is.

Other changes are related to some obsolete data structures in DML/DDL
handling that just hanging around there, doing nothing.
2024-06-27 13:07:49 +03:00
97abd9866b fix(writeengine) MCOL-4202: use schema name when renaming table and change it's fields in syscat 2023-12-18 09:59:44 +03:00
a9ab71e675 MCOL-5625: Fixes json_query implementation
Also extends func_json_value.test.
2023-12-13 16:15:26 +03:00
71f6a39078 fix(logging): Fixes MCOL-5599 where LIKE operator never finishes (#3048)
This is a fix of logging subsystem, nothing else.

The old code expanded an argument into string and advanced too little
and, if expansion contained argument's index, it expanded it again. And
again.
2023-12-03 20:17:43 +03:00
ab1a3fe471 Same columns fom diffeernt views in GROUP BY do not produce errors
Fixes MCOL-5643.

The problem was that different views with same column names in GROUP BY
and on the SELECT clause produced an error about "projection column is
not an aggergate neither in GROUP BY list."

This was due to incorrect search in expressions's list that lead to
duplicate columns in GROUP BY list.
2023-11-30 01:42:41 +04:00
9e37ab82d8 MCOL-5607: JSON function use crashes query execution
JSON functions were implemented violating an assumption of their
pureness, as they should not have any state. This concrete patch
fixes implementation of JSON_VALUE function.
2023-11-30 01:40:36 +04:00
b826fc1fd6 fix(datatypes, funcexp): Overflow detection for MCOL-5568 use case (and some other) (#2987)
We add intermediate calculations in int128_t when target is UBIGINT and
check for overflow before converting into the UBIGINT. This is so
because we can overflow on addition and multiplication, with (some)
signed operands or both unsigned.
2023-10-25 20:14:38 +03:00
920607520c feat(runtime)!: MCOL-678 A "GROUP BY ... WITH ROLLUP" support
Adds a special column which helps to differentiate data and rollups of
various depts and a simple logic to row aggregation to add processing of
subtotals.
2023-09-26 17:01:53 +03:00
4bfce51628 Fix autoincrement filtering problems with utf-8 (#2964)
MCOL-5572: Widen the autoincrement column to accomodate utf-8  encoded into weights with strnxfrm function.
2023-09-22 16:40:10 +03:00
add3a57e8d MCOL-5539 Put table on small side if it was involved in prev.join. (#2945) 2023-09-05 12:19:43 +03:00