Skip to content
Snippets Groups Projects
Unverified Commit 9c6997bb authored by Case Nelson's avatar Case Nelson Committed by GitHub
Browse files

Mongo remove v3 support (#27176)


* Fix mongo version checking for now

* Add minor versions for comparison

* Handle nil case

* newline

* Replace _

* Use dbms-version semantic-version instead

* Compare only the major and minor version

* Fix mongo database-supports?

* Fix duplicate require

* Fix typo

* Remove expressions from version check

* Fix various mongo expressions

`trim`, `rtrim`, `ltrim` needed to be wrapped in `{"input" expr}` object
`replace` needed to be wrapped in `{"input" expr "find" ...
"replacement" ...}' object
`substring` needed to fill in the 3rd argument, optional in mbql but
required in mongo. Also to use a 1 based index

* Generalize semantic-version-gte

* Used synced dbms_version for testing feature support

* Expressions are only supported by mongo 4.2+

* Disable some tests

* Fix mongo division

Handle nulls with an upfront condition check.
Handle multiple divisors.

* Remove unused namespace

* Throw exeception if using replace on mongo < 4.4

* Skip test because of #27249

* Move minimum Mongo CI version to 4.2

* Fix sorting by expressions

$sort needs to come before $project otherwise we can only see the
projected fields, however expressions are only added in $project.

So now if a sort includes an expression, we will use $addFields to be
able to sort by that expression.

* Disable tests for expressions inside aggregations

To be addressed by #27275

* Handle aggregation nested in an expression

* Remove :truncation-start workaround

* Enable tests for expressions inside aggregations

* Fix datetime-math-tests

* Make sure dbms_version is included when fetching database for store

* Update doc for replace to indicate it should replace all occurrences

* Fix order-by-test

* Handle embedded special aggregations (#27315)

* Handle embedded special aggregations
* Preserve aggregation options for nested aggregations
* Use top-level aggregation name as group name

* Disable nil punning on semantic version check (#27317)

* Optimize produced query for division when dividing by literals

* Rename var

* Use reduce to build division

* Fix reduction

* Clean up formatting and document some details

Co-authored-by: default avatarCallum Herries <hi@callumherries.com>
Co-authored-by: default avatarTamás Benkő <tamas@metabase.com>
Co-authored-by: default avatarmetamben <103100869+metamben@users.noreply.github.com>
parent 13f5d3d8
No related branches found
No related tags found
No related merge requests found
Showing
with 295 additions and 152 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment