1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-02 17:22:27 +03:00
Commit Graph

6336 Commits

Author SHA1 Message Date
af10cb1526 feat(cmapi): MCOL-5133: Stage2 stand alone cli tool.
[fix] client class methods
[fix] Transaction management at endpoint handling level
[fix] add_node and set_mode methods to use TransactionManager
2025-03-13 07:20:29 +03:00
dafe35ef49 feat(cmapi): MCOL-5133: Stage1 to stand alone cli tool. (#3378)
[add] cluster api client class
[fix] cli cluster_app using cluster api client
[add] ClusterAction Enum
[add] toggle_cluster_state function to reduce code duplication
2025-03-12 11:21:32 +00:00
36a412962d Recognize lsb_release 'RedHatEnterprise' as rhel 2025-03-12 14:32:12 +04:00
ef592038cb fix(MCOL-5396): Fix possible infinite loop in plugin--PrimProc communication
If you manage to shut down PrimProc just before plugin is trying to send
Calpont Select Execution Plan to PrimProc, you now get a nice error
message about PrimProc being down instead of endless logs of failed
reconnection attempts.
2025-03-11 17:11:01 +04:00
8e50884928 MCOL-5526: CLI rename "mcs CLUSTER" commands to just mcs.
[add] now all 'cluster' subcommand commands working without using 'cluster' subcommand itself
[fix] 'cluster' command hidding its help message
[add] explicit names for commands
[add] help-all command to list all nested help messages in man page view
[add] rich colored tabled help
[add] table panels for cluster commands
[upd] typer dependency version and some extra indirect dependencies
[add] README.md for mcs cli tool with all command reference
[add] mcs.1 man page
[add] README_DEV.md for mcs cli tool
[fix] cmapi/CMakeLists.txt to install mcs.1 man page
2025-03-07 01:51:31 +03:00
e99db9c212 fix(plugin): MCOL-4942 No-table-SELECT now can return empty set (#3415)
The query like "SELECT 1 WHERE 1=0" was returning a row despite
unsatisfiable condition in WHERE. Now it returns an empty set.
2025-03-05 07:36:05 +00:00
4b7016e67b fix(MCOL-5842): Fix JSON_OBJECT's handling of empty strings
JSON_OBJECT() (and probably some other JSON functions) now properly
handle empty strings in their arguments - JSON_OBJECT used to return
NULL, now it returns empty string.
2025-03-04 12:56:33 +04:00
1a5f48d5ce Allow packagers to use system Thrift library
The commit introduces a new CMake configuration option, WITH_THRIFT,
which accepts "auto", "system", or "bundled". In "auto" mode (the
default), the build system attempts to use the system-installed Thrift
library and falls back to the bundled version if the system library is
not available. Setting WITH_THRIFT to "system" enforces the use of the
system Thrift, causing the configuration to fail if it isn't found,
while "bundled" forces the use of the bundled version.

The change mainly useful for downstream maintainers as it gives them
flexibility over dependency management.

Downstream-issue: https://bugs.gentoo.org/949680
2025-02-25 22:00:55 +04:00
cd1939ee07 update backuo to v3.11, backup list and restore list + fixes 2025-02-21 22:29:58 +04:00
0885ccc6e8 more overrides 2025-02-21 20:02:38 +04:00
b5bc649923 add missing override 2025-02-21 20:02:38 +04:00
5556d818f8 chore(codestyle): mark virtual methods as override 2025-02-21 20:02:38 +04:00
6001db44ab fix(BRM): MCOL-5879 DBRM::clearShm runs crit sections w/o sync mechanism (#3390) 2025-02-20 16:33:28 +00:00
c0fade0c55 chore(ci): add more verbose for upgrade 2025-02-14 23:09:57 +04:00
aeb14af63e move upgrade tests to the last phase 2025-02-14 23:09:57 +04:00
a339c2bab3 Merge pull request #3379 from mariadb-corporation/update_columnstore_review_v1.4.13
update columnstore_review to v1.4.13
2025-02-14 13:59:25 -05:00
8b9db66ddd fix(MCOL-5889): Improper handle of DOUBLE result type with DECIMAL arguments
Sometimes server assigns DOUBLE type for arithmetic operations over
DECIMAL arguments. In this rare case width of result was incorrectly
adjusted and it triggered an assertion.

Now width of result gets adjusted only if result type is also DECIMAL.
2025-02-12 12:26:09 +03:00
7dcc6a251a MCOL-5881 set/getThreadName use FreeBSD API (#3383)
Taken from FreeBSD ports, this uses the FreeBSD
APIs rather than the Linux specific prctl to change
and retreive the thread names.

Co-authored-by: Bernard Spil <brnrd@FreeBSD.org>
2025-01-15 22:02:20 +00:00
f99c24b47d MCOL-5880: get rid of CLI11 dep in favour of boost::program_options 2025-01-14 17:54:36 +04:00
232c11d7f6 update columnstore_review to v1.4.13 2025-01-10 16:43:42 -05:00
dd8fac35ae fix(syscat): MCOL-5816 23.02 -> 23.10 upgrade issues (#3346) (#3374)
* feat(BRM,tools): couple utilities to watch/operate shared memory locks and extent map

* feat(BRM,tools): merged two utilities and added some extra dbbuilder output in case of upgrade

* fix(dbbuilder): extra output to log upgrade detection.
2024-12-26 16:26:34 +00:00
50a9f82f76 fix(client): MCOL-5587: Add quick-max-column-width for maridb clients. 2024-12-22 16:59:39 +04:00
3bc8bd8cc6 fix(group by, having): MCOL-5776: GROUP BY/HAVING closer to server's (#3257)
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:12:32 +00:00
8f8620210b feat(SM,FDB): MCOL-5720 Move meta to FDB. (#3369) 2024-12-17 10:05:18 +00:00
87e2bb4cef feat(fdb): MCOL-5802 Add support for blob insertion into FDB. (#3351) 2024-12-10 21:07:46 +00:00
eb6b370287 fix(MTR tests): Fixes autopilot MTR tests (#3368)
Fixes in UBSAN related commit introduced more server-compatible
behavior that differ fom our old behavior. Thus, old tests broke and
their results had to be changed. This is what this patch does.
2024-12-09 13:22:28 +00:00
61200f532f fix(aggregation): remove double returnMemory() (#3366) 2024-12-06 15:10:24 +00:00
38fd96a663 fix(memory leaks): MCOL-5791 - get rid of memory leaks in plugin code
There were numerous memory leaks in plugin's code and associated code.
During typical run of MTR tests it leaked around 65 megabytes of
objects. As a result they may severely affect long-lived connections.

This patch fixes (almost) all leaks found in the plugin. The exceptions
are two leaks associated with SHOW CREATE TABLE columnstore_table and
getting information of columns of columnstore-handled table. These
should be fixed on the server side and work is on the way.
2024-12-04 10:59:12 +03:00
6445f4dff3 feat(joblist,runtime): this is the first part of the execution model that produces a workload that can be predicted for a given query.
* feat(joblist,runtime): this is the first part of the execution model that produces a workload that can be predicted for a given query.
  - forces to UM join converter to use a value from a configuration
  - replaces a constant used to control a number of outstanding requests with a value depends on column width
  - modifies related Columnstore.xml values
2024-12-03 22:17:49 +00:00
bba2133cd0 fix(fdb,regression): Add cluster path for test config (#3359) 2024-12-03 09:17:34 +00:00
a2eafa492a Shorter code 2024-12-02 20:18:13 +03:00
4878caee4e Shorter code 2024-12-02 20:18:13 +03:00
0bc384d5f0 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-02 20:18:13 +03:00
63abfd92fd fix(CI,mtr): temporary disable fdb_api and parquet-related tests for multinode mtr 2024-11-29 17:19:46 +00:00
9d59591066 Fix tests' results to match new diagnostics 2024-11-29 15:54:55 +04:00
4f71071766 feat(bootstrap): add flags to bypass costly operations to reduce recompilation time 2024-11-14 19:38:13 +04:00
932546f47c fix(CMAPI): reduce timeout value for couple CMAPI endpoints (#3153)
* Minor fix in timeout for /notfound "endpoint" call.

- [fix] timeout to urlopen /notfound "endpoint" in mcs-savebrm and mcs-loadbrm

* chore(CMAPI): reduced a second Time Out asking MDB for a async replication status. The latency must be small b/c MDB Server to be requested is local.

---------

Co-authored-by: drrtuy <drrtuy@gmail.com>
2024-11-12 10:56:16 +00:00
c6b747b7c0 fix(DEC):MCOL-5805,5808 to resolve UM-only node crash inside DEC when there is no local PP to send the local requests to. (#3349) 2024-11-11 18:29:53 +00:00
6f4274760e fix(plugin): MCOL-5703 fix server crash on 'UNION ALL VALUES' queries (#3335)
* fix(plugin): MCOL-5703 fix server crash on 'UNION ALL VALUES' queries
2024-11-10 18:31:38 +00:00
a6eb5ca689 MCOL-5719: Move ownership mechanism to KV storage. (#3266)
* MCOL-5719 Move ownership mechanism to FDB
2024-11-09 19:47:04 +00:00
8ae5a3da40 Fix/mcol 5787 rgdata buffer max size dev (#3325)
* fix(rowgroup): RGData now uses uint64_t counter for the fixed sizes columns data buf.
	The buffer can utilize > 4GB RAM that is necessary for PM side join.
	RGData ctor uses uint32_t allocating data buffer.
 	This fact causes implicit heap overflow.

* feat(bytestream,serdes): BS buffer size type is uint64_t
	This necessary to handle 64bit RGData, that comes as
	a separate patch. The pair of patches would allow to
	have PM joins when SmallSide size > 4GB.

* feat(bytestream,serdes): Distribute BS buf size data type change to avoid implicit data type narrowing

* feat(rowgroup): this returns bits lost during cherry-pick. The bits lost caused the first RGData::serialize to crash a process
2024-11-09 19:44:02 +00:00
842a3c8a40 fix(PrimProc): MCOL-5651 Add a workaround to avoid choosing an incorr… (#3320)
* fix(PrimProc): MCOL-5651 Add a workaround to avoid choosing an incorrect TupleHashJoinStep as a joiner
2024-11-08 17:44:20 +00:00
42be2cb7e0 fix(dbcon) MCOL-5812 server crash related to stored functions
Using the stored function's return value as an argument
for another function was handled incorrectly, leading
to a server crash.
2024-11-05 20:32:26 +04:00
bd9dfdf38c feat(installation): MCOL-4886 skip chown if top folder permissions good (#3093)
* MCOL-4886 skip chown if top folder permissions good

* remove '-type f' check permissions of directories too
2024-09-11 14:50:41 +03:00
3489b2c542 fix(logging): Add setddldebuglevel command (#3312) 2024-09-10 19:10:42 +03:00
4f49c7870a fix(SM): check for duplicates (#3314)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2024-09-10 17:50:59 +03:00
31aaa7df50 fix(logging): MCOL-5789 Add logs on failure. (#3308) 2024-09-10 17:44:25 +03:00
029a573639 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-06 00:13:52 +04:00
47d01b2d2f fix(join, UM, perf): UM join is multi-threaded now (#3286)
* chore: UM join is multi-threaded now

* fix(UMjoin):  replace TR1 maps with stdlib versions
2024-09-04 18:56:24 +04:00
1d40b4bb45 MCOL-5695: Fix CI. Use specific branches from docker repo. 2024-09-04 18:55:22 +04:00