1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2026-10-23 21:49:05 +03:00
Commit Graph

373 Commits

Author SHA1 Message Date
Aleksei Antipovskii
dec6b1a49e fix(plugin): MCOL-6088 wrap columns that are not aggregated with SELECT_SOME 2026-02-16 19:14:47 +01:00
Leonid Fedorov
02e3ae50e9 fix(qa): Fix IN condition not applied in RBO rewriting
ConstantFilter had its own fSimpleColumnListExtended member variable
that shadowed the base class Filter::fSimpleColumnListExtended.

When RBO called getSimpleColsExtended() to collect SimpleColumns for
rewriting, it used Filter::simpleColumnListExtended() which returned
the empty base class variable. Meanwhile, ConstantFilter::setSimpleColumnListExtended()
was populating its own shadowed variable.

This caused SimpleColumns inside ConstantFilter (used for IN predicates)
to not be updated during RBO parallel_ces rewriting, resulting in
incorrect query results where IN conditions were effectively ignored.

Fix: Remove the duplicate fSimpleColumnListExtended declaration from
ConstantFilter and use the inherited base class variable instead.
Also remove the redundant simpleColumnListExtended() method override.

Affected queries: TPC-H Q12, Q16, Q19 and any query using IN/NOT IN
conditions with RBO enabled.
2026-01-26 21:15:03 +04:00
Leonid Fedorov
4d13bd51b7 fix(QA): All the queries produce results 2026-01-26 21:15:03 +04:00
Sergey Zefirov
f3d554ed48 fix(BRM,oidbitmap): MCOL-5987 - return OIDs after DROP TABLE (#3901)
Creating and dropping tables in a long-running Columnstore installation
were going to overflow used OIDs set, leading to semi-functional database.
Now DROP TABLE releases all OIDs back to reuse.
2026-01-20 08:50:44 +00:00
Serguey Zefirov
3506ef6329 fix(rbo): Partial fix MCOL-6251 - only two TPC-H queries fail
This fix contains slightly generalized walk on WHERE/HAVING filters and
slightly better naming of subqueries for better diagnostics.
2025-12-31 20:43:20 +03:00
Leonid Fedorov
df88bf05fe fix(ubsan): suppress overflow in header 2025-12-29 22:42:30 +04:00
Leonid Fedorov
89bb07ef4b fix(ubsan): suppress overflow 2025-12-16 03:11:44 +04:00
Serguey Zefirov
12e9c67ca1 fix(query-acceleator): Fixes SUGSEGV in MCOL-6238
Now all SimpleColumns in ConstantFilter are updated during Query
Accelerator processing.
2025-11-28 17:16:17 +04:00
Leonid Fedorov
24185c08f8 suppress(diagnostics): silince overflow disgnostics 2025-11-28 16:28:12 +04:00
Leonid Fedorov
56e3221540 fix(ub): uninitilized value 2025-11-28 16:28:12 +04:00
Kristina Pavlova
3024f8af6f fix(joblist): MCOL-6218 null safe operator now handles string literals for a specific edge case. 2025-11-04 23:58:55 +00:00
Leonid Fedorov
7d23514315 fix(perf): add reserves for usage of vector filled after creation 2025-10-29 17:11:17 +04:00
Alexey Antipovsky
cfa9a7ff2c feat(optimizer): MCOL-5250 rewrite queries with DISTINCT (#3666)
* feat(optimizer): MCOL-5250 rewrite queries with DISTINCT

... as aggregated queries.
So query
```
SELECT DISTINCT <cols list>
FROM <from list>
WHERE <where clause>
HAVING <having clause>
ORDER BY <orderby list>
LIMIT <limit>
```
will become
```
SELECT *
FROM
  (
    SELECT <cols list>
    FROM <from list>
    WHERE <where clause>
    HAVING <having clause>
  ) a
GROUP BY 1,2,3,...,N
ORDER BY <orderby list>
LIMIT limit
```

* move ORDER BY to the outer query

* fix test

* reuse cloneWORecursiveSelects() in clone()

* fix subselect columns processing
2025-09-22 16:16:37 +04:00
drrtuy
9cbb160130 feat(joblist): descend into SelectFilter even if it contains correlated sub. 2025-09-15 20:22:10 +01:00
Rucha Deodhar
9fe37d5919 MDEV-32854: Make JSON_DEPTH_LIMIT unlimited
This patch is the columnstore-part of the task. Columnstore wanted to have
previous 32 depth, so this patch aims at keeping the compatibility.
2025-09-14 17:16:17 +04:00
drrtuy
3d6e2a6bd7 chore(QA): added MTR tests for TPC-H, removed printouts and added a doc on the feature. 2025-09-11 18:35:38 +01:00
drrtuy
2506d3fe1e fix(QA,joblist): SimpleFilter::setSimpleColumnListExtended() now populates the correct SimpleColumn list. 2025-09-10 19:50:26 +01:00
drrtuy
0d609ec485 Reapply "fix(joblist,QA): introduced extended SC ptrs collector to resolve the issue when ParseTree consist of ArithmCol-AggCol does not return SCs from AggCol."
This reverts commit f807ebcdfd.
2025-09-10 19:50:26 +01:00
drrtuy
d981f96b2a Merge branch 'stable-23.10' into feat/MCOL-6072-parallel-scan-4-CES-4 2025-09-08 15:16:52 +00:00
drrtuy
f807ebcdfd Revert "fix(joblist,QA): introduced extended SC ptrs collector to resolve the issue when ParseTree consist of ArithmCol-AggCol does not return SCs from AggCol."
This reverts commit 8c0c85080c.
2025-09-08 11:59:31 +00:00
Aleksei Antipovskii
95901fcd19 review fixes 2025-09-05 17:07:21 +04:00
Aleksei Antipovskii
76f135b2ac Code cleanup and deduplication 2025-09-05 17:07:21 +04:00
drrtuy
8c0c85080c fix(joblist,QA): introduced extended SC ptrs collector to resolve the issue when ParseTree consist of ArithmCol-AggCol does not return SCs from AggCol. 2025-09-04 13:10:18 +00:00
drrtuy
96fc875255 fix(rbo,rules,QA): ExistsFilter::transform merges statistics to enable QA for EXISTS expressions. 2025-09-03 09:25:10 +04:00
drrtuy
ea225145c0 fix(rbo,QA): SC'es CORRELATED_JOIN flag created unexpected ghost table in JobList compiler. 2025-08-28 03:46:11 +04:00
Leonid Fedorov
e28b120527 fix(rbo): fix null values handling. Crash on incomplete SimpleFilter and transform
(col >= bound_n-1 and col < bound_n) or col is null to
   (col >= bound_n-1 or col is null) and (col < bound_n)
2025-08-22 12:59:23 +01:00
drrtuy
8962ec4830 Merge branch 'stable-23.10' into feat/MCOL-6072-parallel-scan-4-CES-4 2025-08-21 16:56:11 +00:00
drrtuy
2fccfb5ffb feat(rbo,rules,QA): AggregateColumn in projection and also GB/OB columns support. 2025-08-19 18:48:15 +01:00
Leonid Fedorov
98a301c1c5 chore(execplan): MCOL: 6144 prerry print filters and havings as a tree (#3712)
* MCOL-6144: print Filters and Having indented for better CSEP visualization
2025-08-19 13:18:06 +01:00
drrtuy
80f81526eb feat(rbo,rules,QA): replace monotonic counter with column_name->col_index map and added fields to activate existing filters pushdown machinery. 2025-08-14 19:38:00 +04:00
drrtuy
0c876e1ed4 feat(rbo,rules,QA): SC in upper layer filters are updated. 2025-08-14 19:38:00 +04:00
drrtuy
6c75faee88 chore(rbo,rules,QA): clone now does not copy OB, GB, HAVING and optionally filters. 2025-08-13 13:24:29 +00:00
drrtuy
c030ff4224 feat(rbo,rules,QA): index column type is now derived from the corresponding Field 2025-08-13 13:20:57 +00:00
drrtuy
bd219cc4af feat(cbo,rules,QA): clean SC iface usage in various places 2025-08-13 13:20:57 +00:00
drrtuy
8f4e9228b2 feat(rbo,rules,QA): SC::setSimpleColumn does not have more than 1 SC in its SimpleColumn list. 2025-08-13 13:20:57 +00:00
drrtuy
134235b2d2 feat(rbo,rules,QA): support expressions in RCs 2025-08-13 13:20:57 +00:00
drrtuy
b07ee73fb3 feat(rbo,rules,QA): filtered RC clone for UNION units. 2025-08-13 13:20:57 +00:00
drrtuy
2f9fec8057 feat(rbo,rule,QA): fixed JOIN example works with QA for one leg of the JOIN. 2025-08-13 13:20:55 +00:00
drrtuy
ebaa6cce5c feat(rbo,rules): preparation to replace derived-based with table-based approach 2025-08-13 13:11:46 +00:00
Leonid Fedorov
8a535e872c Revert "Deep build refactoring phase 2 (#3564)" (#3678)
This reverts commit 449029a827.
2025-08-01 02:56:31 +04:00
Leonid Fedorov
82421c208f chore(ci): collect asan ubsan and libc++ build with mtr and regression status ignored (#3672)
* MSan added with fixes for libc++

* libc++ sepatare build

* add libc++ to ci

* libstdc++ in CI

* libcpp and msan to external projects

* std::sqrt

* awful_hack(ci): install whole llvm instead of libc++ in terrible way for test containers

* Adding ddeb packages for teststages and repos

* libc++ more for test container

* save some money on debug

* colored coredumps

* revert ci

* chore(ci): collect asan ubsan and libc++ build with mtr and regression status ignored
2025-07-31 00:32:32 +04:00
drrtuy
c4fd150453 chore(execplan): name PT walker function types 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
mariadb-KristinaPavlova
a501ef8721 fix string args 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
40f4ee7008 add args to system catalog err 2025-07-04 19:57:49 +04:00
drrtuy
8a2ae35918 chore(): review fixes 2025-06-26 18:35:33 +01:00
drrtuy
464b9a1ca3 chore(review): clean up leftovers 2025-06-26 18:35:33 +01:00
drrtuy
327231276d chore(): remove unused standalone unit test 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