1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-27 21:01:50 +03:00

6351 Commits

Author SHA1 Message Date
6923608169 Merge pull request #3372 from denis0x0D/MCOL-5724_standalone
MCOL-5724 Move journal to FDB.
2025-05-23 04:15:20 +04:00
1071df26f2 Merge branch 'develop' into MCOL-5724_standalone 2025-05-23 04:14:15 +04:00
f877b17841 MCOL-5722 Tool to move meta from files to fdb for existing installation. 2025-05-23 04:11:32 +04:00
66778933ce A start 2025-04-15 20:26:57 +04:00
61b8973fa8 add branches info to buildinfo file 2025-03-24 23:09:26 +04:00
6e64d3a38d fix(mcs): MCOL-5618: change list option to --list and refactor.
fix(mcs):  list option to -li/--list for mcs backup, restore and dbrm_restore commands
fix(mcs): add missed option "aro"
fix(mcs): resort options for backup and dbrm_backup to keep same ordering as in original scrypt
fix(mcs docs): updated README.md + mcs.1
2025-03-20 15:34:26 +03:00
6a57537cb1 fix(cmapi): MCOL-5133 remove has_active_nodes handler for cluster shutdown because TransactionManager has advance variant of this check 2025-03-20 16:30:25 +04:00
a60b278ee6 fix(cmapi tests): MCOL-5133 test mode set without nodes now returns adequate message 2025-03-20 16:17:58 +04:00
7c751ea53e fix(cmapi): MCOL-5133 maintainance flag typo. 2025-03-20 12:42:51 +03:00
d198ff77f2 adjusted list flag to --list in mcs_backup_manager.sh 2025-03-14 23:02:22 +03:00
75ed571f09 feat(cmapi): MCOL-5133: Stage3 stand alone cli tool.
MAJOR: Some logic inside node remove changed significantly using active
    nodes list from Columnstore.xml to broadcast config after remove.

 [fix] TransactionManager passsing  extra, remove and optional nodes arguments to start_transaction function
 [fix] commit and rollback methods of TransactionManager adding nodes argument
 [fix] TransactionManager using success_txn_nodes inside
 [fix] remove node logic to use Transaction manager
 [fix] cluster set api key call using totp on a top level cli call
 [add] missed docstrings
 [fix] cluster shutdown timeout for next release
2025-03-14 14:44:16 +03:00
6a6db672db feat(FDB): [FDB BlobHandler] Add writeOrUpdateBlob, update read and remove. (#3373)
This patch:
1) Adds a `writeOrUpdateBlob` function.
2) Updates `read` and `remove` to take in account the size of the
`keys` and `values` for one FDB transaction.
2025-03-14 11:39:06 +00:00
001367e68a feat(backup): added timestamps to localstorage backups major sections, new flag backup --apply-retention-only , more verbose logging in poll_check_no_active_sql_writes(), fixes to multinode race conditions to apply apply_backup_retention_policy() (#3422) 2025-03-14 11:36:01 +00:00
d132c1174a MCOL-5618: Sync with PR3410.
[add] list option but in argument notation "list" for backup, restore, dbrm_restore
[fix] help messages for --config-file
[fix] -p/--path > -bl/--backup-location option for dbrm_backup and dbrm_restore
[fix] -d/--directory > '-l', '--load' option for dbrm_restore
2025-03-13 07:35:27 +03:00
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
acce8d091a MCOL-5724 Move journal to FDB 2024-12-23 09:28:13 +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