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>
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.
* 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.
This changeset enables quick (mariadb -q) mode when columnstore is
installed. Quick mode precludes client CLI program from storing too
much data in memory, preventing out of memory conditions.
Add quick-max-column-width=0 to prevent extra garbage dashes in output.
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.
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.
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."
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.
* 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
* Revert "fix(DEC): MCOL-5602 fixing potentially endless loop in DEC (#3049)"
This reverts commit 1d416bc6ed.
* 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.
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.
Update libmarias3
fix build with the recent libmarias3
feat(SM): MCOL-5785 Add timeout options for S3Storage
In some unfortunate situations StorageManager may get stuck on
network operations. This commit adds the ability to set network
timeouts which will help to ensure that the system is more
responsive.
feat(SM): MCOL-5785 Add smps & smkill tools
* `smps` shows all active S3 network operations
* `smkill` terminates S3 network operations
NB! At the moment smkill is able to terminate operations
that are stuck on retries, but not hang inside the libcurl
call. In other words if you want to terminate all operations
you should configure `connect_timeout` & `timeout`
Install smkill & smps
Add install for new binaries