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.
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.
* 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
* 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
* 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)