Leonid Fedorov
680adce45d
MSan added with fixes for libc++
2025-07-28 16:09:35 +00:00
Sergey Zefirov
3418e68b78
fix(ddl): MCOL-5974 TIMESTAMP columns are not IS NOT NULL by default in MCS ( #3670 )
...
The old behavior was to assign TIMESTAMP columns an IS NOT NULL
constraint if list of constraints was empty. Apparently, this particular
invariant was changed in 11.4 and bugfixes' mcol-5480.test started to
fail.
This patch fixes behavioral difference and reenables mcol-5480 test in
11.4.
2025-07-27 20:06:40 +01:00
drrtuy
a92bd2d142
fix(build): statistics that is not yet available in ES 11.4/11.8 does not break builds anymore
2025-07-25 16:56:32 +01:00
drrtuy
f881bae496
chore(rbo,rules): fixes to compile MCS with ES 10.6
2025-07-21 12:54:07 +01:00
drrtuy
a01c883e07
feat(rbo,rules): mock Histogram for ES < 11.4
2025-07-21 12:54:07 +01:00
drrtuy
e600f11aa9
feat(rbo,rules): use EI statistics for filter ranges
2025-07-21 12:54:07 +01:00
drrtuy
428be12b9b
feat(rbo,rules): find suitable indexed column to be used for range partitioning
2025-07-21 12:54:07 +01:00
drrtuy
19fb5a89b7
chore(rbo,rules): separate the rule from common rbo code
2025-07-21 12:54:07 +01:00
drrtuy
15be33fbc5
feat(rbo,rules): refactored statistics storage in gwi and implemented statistics based UNION rewrite.
2025-07-21 12:54:07 +01:00
drrtuy
67295b4320
feat(optimizer,rules): use EI statistics for range filters
2025-07-21 12:54:07 +01:00
drrtuy
3f9ce7779e
feat(optimizer): PoC for EI stats retrieval in getSelectPlan()
2025-07-21 12:54:07 +01:00
drrtuy
dfddfedfe5
feat(optimizer): collect EI statistics for a first column in existing tables indexes
2025-07-21 12:54:07 +01:00
drrtuy
e21200da19
feat(optimizer): stack-based filters walker
2025-07-21 12:54:07 +01:00
drrtuy
ef126c4319
feat(optimizer): add fixed bounds for TPC-H 1GB from regr
2025-07-21 12:54:07 +01:00
Leonid Fedorov
449029a827
Deep build refactoring phase 2 ( #3564 )
...
* configcpp refactored
* chore(build): massive removals, auto add files to debian install file
* chore(build): configure before autobake
* chore(build): use custom cmake commands for components, mariadb-plugin-columnstore.install generated
* chore(build): install deps as separate step for build-packages
* more deps
* chore(codemanagement, build): build refactoring stage2
* chore(safety): Locked Map for MessageqCpp with a simpler way
Please enter the commit message for your changes. Lines starting
* chore(codemanagement, ci): better coredumps handling, deps fixed
* Delete build/bootstrap_mcs.py
* Update charset.cpp (add license)
2025-07-17 16:14:10 +04:00
Leonid Fedorov
902805d5a3
GCC8.5 warning fixed
2025-07-15 23:54:46 +04:00
Serguey Zefirov
6e3cf16ce4
chore(MCOL-6018) Fix leaks in Columnstore information tables
...
Fix introduces unique_ptr around DBRM instance in fill result functions.
Now all paths lead to DBRM instance freeing.
2025-07-06 15:17:08 +04:00
mariadb-KristinaPavlova
a1a017a475
fix err printing
2025-07-04 19:57:49 +04:00
mariadb-KristinaPavlova
d031239844
add args to lost connection error when getting system data
2025-07-04 19:57:49 +04:00
mariadb-KristinaPavlova
a29ac85c7c
add partial support for unsupported query syntax
2025-07-04 19:57:49 +04:00
drrtuy
70547c7358
chore(plugin): translator walks are now in separate units
2025-06-27 17:38:33 +04:00
drrtuy
9da9144343
feat(optimizer): UNION units now have origin filters pushdown AND partition boundaries filters
2025-06-26 18:35:33 +01:00
drrtuy
8a2ae35918
chore(): review fixes
2025-06-26 18:35:33 +01:00
drrtuy
3bf4394456
feat(optimizer): rewrite rule does not descent into a freshly created UNION unit.
2025-06-26 18:35:33 +01:00
drrtuy
e57832ee64
feat(optimizer): temporary shield optimizer with a session variable
2025-06-26 18:35:33 +01:00
drrtuy
98cb6dddee
feat(optimizer): replace simple walk with iterative DFS with convergence
2025-06-26 18:35:33 +01:00
drrtuy
25c7d23c21
feat(optimizer): add session switch to optionally enable optimizer
2025-06-26 18:35:33 +01:00
drrtuy
ab6063bec4
feat(optimizer): moved related code into a separate unit
2025-06-26 18:35:33 +01:00
drrtuy
e07e85b750
feat(optimizer): into derived CSEP rewrite with hardcoded tables
2025-06-26 18:35:33 +01:00
drrtuy
1baaf878d0
feat(optimizer): basic rewrite Union unit into Sub with union
2025-06-26 18:35:33 +01:00
drrtuy
021a95c683
feat(optimizer): rewrite rule refactoring
2025-06-26 18:35:33 +01:00
drrtuy
e73e5834ab
feat(optimizer): first cut for rewrite foreign table into UNION rule
2025-06-26 18:35:33 +01:00
drrtuy
79008f4f69
feat(CSEP): CSEP printer with indentations to simplify reading + rewriter skeleton + some test binary to describe minimalistic CSEP localy
2025-06-26 18:35:33 +01:00
Serguey Zefirov
3a91cded27
chore(MCOL-6018) Fix incorrect Field_decimal cast
...
This is a fix of a problem found by UBSAN. MDB changed default type to
represent a decimal result, C-style cast did not do proper type checking
and this one-liner fixes that. Now we will have an assertion if type
changes again.
2025-06-26 19:41:58 +04:00
drrtuy
dd9298f988
feat(plugin): add extra logging to the plugin init
2025-06-19 19:22:01 +04:00
Leonid Fedorov
5cb7a4ac4c
chore(compilatiaon): proper use of plugin_ref
2025-06-02 15:39:42 +04:00
drrtuy
44d1698639
chore(plugin): move having and group by into separate routines
2025-06-02 12:11:41 +01:00
drrtuy
600f10c259
chore(plugin): move order by processing
2025-06-02 12:11:41 +01:00
drrtuy
bb13688ccf
chore(plugin): move projection processing into a separate part.
2025-06-02 12:11:41 +01:00
Leonid Fedorov
bb833ac9f6
chore(build) : fix debug build with MYSQL_VERSION_ID >= 10090
2025-05-30 19:08:35 +04:00
Leonid Fedorov
aa7e0fb9b4
Deep build refactoring phase 1 ( #3562 )
...
* configcpp refactored
* logging and datatypes refactored
* more dataconvert
* chore(build): massive removals, auto add files to debian install file
* chore(codemanagement): nodeps headers, potentioal library
* chore(build): configure before autobake
* chore(build): use custom cmake commands for components, mariadb-plugin-columnstore.install generated
* chore(build): install deps as separate step for build-packages
* more deps
* check debian/mariadb-plugin-columnstore.install automatically
* chore(build): add option for multibracnh compilation
* Fix warning
2025-05-30 14:05:21 +04:00
drrtuy
35578f5f05
fix(): fix API return type difference b/w server versions.
2025-05-29 19:05:34 +01:00
drrtuy
7cf3003727
fix(formating): return to the original formatting
2025-05-29 19:05:34 +01:00
drrtuy
44040b4367
feat(plugin): Replaced THDVAR with more lightweight SYSVAR
2025-05-29 19:05:34 +01:00
drrtuy
9038f0df09
feat(plugin): All InnoDB queries are pushed down to Columnstore if columnstore_innodb_queries_uses_mcs = ON in the configuration before server start
2025-05-29 19:05:34 +01:00
drrtuy
11e5e481ab
feat(plugin): fixup for side effects
2025-05-29 19:05:34 +01:00
drrtuy
7b02299f50
feat(plugin): unconditional innodb into MCS pushdown
2025-05-29 19:05:34 +01:00
Leonid Fedorov
dc4ca8d588
MCOL-5943: MCOL-4740 update rows counter for multi-table update ( #3555 )
...
* fix(plugin): MCOL-4740: This fixes update rows counter for multi-table update
For UPDATEs involving a single table, the server call to handler::direct_update_rows() is used to correctly set the count for the number of updated rows in the UPDATE statement.
However, for UPDATEs involving multi-tables, the server does not call handler::direct_update_rows(). This patch adds support to correctly report the number of updated rows to the client by setting
multi_update::updated and multi_update::found in handler::rnd_end().
* fix(plugin): MCOL-4740: this is to addres the original patch QA found in the original patch
---------
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com >
Co-authored-by: drrtuy <roman.nozdrin@mariadb.com >
2025-05-29 14:23:37 +01:00
Aleksei Antipovskii
221ccfd5b6
fix(dbcon): MCOL-4756: having not() provokes an ERROR 2013
...
The `NOT()` function in the HAVING clause was handled
incorrectly, which caused the server to crash.
2025-05-23 05:12:17 +04:00
Leonid Fedorov
13b23e8510
chore(codestyle): MCOL-5405: repace windows CRLF with virtious linux one
2025-05-23 05:12:17 +04:00