* Internal load-namespaces tool to check for compilation errors
* Ignore load-namespaces in module checks
* lint load-namespaces
* Reject positional args
* Test the new utility
* Guard against nonexistent root.
Make the code more testable.
* [match] Remove old match implementations based on clojure.core.match
* Rename match-lite to match-one and replace-lite to replace
* Stop using clojure.core.match completely
* Move metabase.lib.util.match to metabase.util.match
* Remove clojure.core.match dependency
* Update docstrings
* Address comments
* Split warehouses and warehouses-rest
* Split warehouse-schema and warehouse-schema-rest
* Split actions and actions-rest
* Split collections and collections-rest
* Split `dashboards` and `dashboards-rest`
* Split public-sharing and public-sharing-rest
* Split embedding and embedding-rest; eliminated driver deps: xrays segments sample-data tiles
* Split users and users-rest
* Split setup and setup-rest
* Some more dev functions
* Update Kondo modules config
* Fix test namespace name
* Fix test failure 🔧
* [m.lib.fe-util] Introduce match-lite to reduce CLJS bundle size
* [m.lib.filter] Replace match-one with match-lite
* [m.lib.remove-replace] Replace match-one with match-lite
* Replace match-one with match-lite on all CLJC files
* `annotate` middleware => MLv2
* Test fixes
* Fix#42307
* Add `lib.join/rename-join`
* Continue to iterate on `annotate` rewrite
* Squash #58712
* Less test noise
* Revert "Squash #58712"
This reverts commit 9c8d170aa4.
* Only one test failure to go!
* Add more documentation; code cleanup
* Improved column looping code.
* Test fix 🔧
* Code cleanup
* Use existing Join renaming code.
* FIX QUE-1330
* Fix#30397 / QUE-147
* Kondo cleanup
* Test fixes.
* 13384 assertions, 81 failures, 47 errors.
* 13373 assertions, 48 failures, 28 errors.
* 13400 assertions, 48 failures, 15 errors.
* 13391 assertions, 48 failures, 12 errors.
* 13401 assertions, 22 failures, 11 errors.
* 13404 assertions, 20 failures, 6 errors.
* 13407 assertions, 13 failures, 6 errors.
* 13414 assertions, 11 failures, 8 errors.
* 13412 assertions, 10 failures, 8 errors.
* Minor code cleanup
* Minor code cleanup
* 13412 assertions, 10 failures, 5 errors.
* Fix Kondo errors
* 13411 assertions, 10 failures, 5 errors.
* 13404 assertions, 7 failures, 5 errors.
* 13411 assertions, 3 failures, 5 errors.
* 13399 assertions, 2 failures, 5 errors.
* 13396 assertions, 2 failures, 4 errors.
* 13424 assertions, 2 failures, 2 errors.
* Test cleanup
* Fix deps graph
* Update lib module config
* Cleanup
* Kondo cleanup
* Minimize diff
* 13421 assertions, 3 failures, 2 errors.
* Nice refactor of big hairball test
* More beautiful refactoring
* 13474 assertions, 0 failures, 1 errors.
* Fix linter error
* Remove unused `:aggregation_index` column
* Test fixes
* Test fixes 🔧
* 14547 assertions, 1 failure, 1 error.
* Fix calling the zero arity of unique-name-generator twice
* Handful of test fixes 🔧
* Fix :converted-timezone for :convert-timezone with 3 args instead of 4
* Fix metabase.queries.api.card-test/renamed-column-names-are-applied-to-json-test
* Split up mega test
* Split up another large test
* Fix error message
* Resolve#39887. 14536 assertions, 1 failure, 0 errors.
* WOW! Is everything green now??
* Test fix 🔧
* Update issue IDs
* Update more issue IDs
* PR feedback
* A test fix 🔧
* Another test fix 🔧
* More test fixes 🔧
* Formatting
* Test fixes 🔧
* Test fixes 🔧
* More test fixes 🔧
* Less nonsense
* 6618 assertions, 115 failures, 16 errors. [Lib]
* 6637 assertions, 3 failures, 16 errors.
* 8208 assertions, 3 failures, 0 errors. [Lib]
* Almost ready??
* [Lib] 8216 assertions, 0 failures, 0 errors.
* [QP] 5330 assertions, 21 failures, 31 errors.
* [QP] 5344 assertions, 8 failures, 2 errors
* Fix QUE-1380
* Fix QUE-1410
* [QP] 5344 assertions, 8 failures, 1 errors.
* 5345 assertions, 2 failures, 1 error.
* Proper deduplication in field resolution; also, add some normalization tests
* 13563 assertions, 1 failure, 0 errors.
* 13579 assertions, 0 failures, 0 errors.
* Kondo & cljfmt
* Kondo
* Test fixes 🔧
* Disallow duplicate expression names (QUE-1412)
* Test fixes 🔧
* Test fix
* Fix QUE-1418
* Fix error messages about inline-value with MongoDB
* Fix Redshift test failure
* Fix Athena test
* Fix BigQuery tests
* Fix dumb test failure
* Card source-model-cols should work for Cards without a query.
* Fix MongoDB
* Fix Druid
* Fix some busted code formatting.
* Fix column names
* Fix column names
* Do type inference for native queries with MBQL stages if the driver returns all :type/*
* Fix column names
* Fix column names
* Fix column names
* Druid test fixes 🔧
* More test fixes 🔧
* Update more FE tests
* MBQL 5 map normalization should not normalize nil values
* Support new `:decode/mock` key for mock metadata provider
* Split up unrelated large test
* Don't add :was-binned false to refs
* Clean up the display name calculation logic for column metadata
* Update binning middleware to use 'better' column resolution logic in lib.field.resolution
* Don't calculate different display names in QP results metadata
* Properly convert join :source-metadata
* Update expected display name
* Revert making test too complicated
* Simplify the remove-inactive-field-refs middleware
* Misc code cleanup and test fixes 🔧
* Appease whitespace linter
* Add test to make sure Lib result metadata merges in :info :metadata/model-metadata
* Literally an insane number of new tests
* Add `:lib/original-display-name` to column metadata schema
* Improve error message for fix-bad-references when you use Field ID ref with native source query
* Improved field resolution logic
* Card should NOT add :lib/original-display-name all willy-nilly
* Add `:lib/source-display-name` and `:lib/ref-display-name`
* FINALLY fix display name logic??
* Revert making things private (thanks for lying to me LSP)
* Test fixes 🔧
* Remove `:lib/hide-bin-bucket?`
* Test fix
* Update notebook helpers
* Always use LONG display names for columns from the previous stage.
* Fix metabase.query-processor-test.nested-queries-test/space-names-question-test
* Make sure we use correct display names for implicitly joined columns
* Make sure BINNING gets propagated with `:lib/original-binning`.
* Make sure we correctly calculate if a column is inherited or not.
* Make sure binning info is returned in QP results and other misc fixes
* Do NOT return join alias info for columns that come from implicit joins.
* Update tests
* Some test fixes
* Don't generate wacky default join aliases
* Test fixes 🔧
* Fix more tests
* Prettier
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Use 'Unknown Field' as display name for unknown fields
* Fix incorrect use of expression refs
* Mark selected columns correctly
* cljfmt
* Update/fix backend tests again
* More fix selection fixes 🔧
* Fix equality matching for join columns
* Update tests
* Fix Kondo
* Fix line-bar-tooltips.cy.spec.js
* Add transducer version of u/index-by
* Some PR feedback
* Fix joins-reproductions.cy.spec.js 🔧
* Kondo cleanup
* Fix multiple-column-breakouts.cy.spec.ts
* Update tests
* Update tests not to expect :ident
* Update test not to expect duplicate columns
* PR feedback.
* More test fixes.
* IDK, maybe this is the last round of fixes. 🔧
* Support normalizing parameter dimensions
* Test fixes 🔧
* Fix CLJS code
* One last fix for column equality
* Update a couple of e2e tests
* Another test update
* Fix the test
* remove duplicated spec
* Even more tests (1 million tests)
* cljfmt
* Add test to make sure breakoutable-columns does not include remaps
* Fix Kondo
* skip failed tests
---------
Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>
* [Backend modularization] `parameters` module (first pass)
* Make sure DB is initialized
* Oops revert the change I made to demo something during BE Guild Sync
* [Backend modularization] `collections` module (DEV-444)
* Fix wrong namespace
* Fix new metabot v3 code
* Some test fixes. 🔧
* Move test for EE-specific behavior to EE
* Make `/api/collection` tests work correctly from the REPL
* Try to debug failing test
* Fix sanity checc
* Fix Kondo warnings
* Test fix 🔧
* Attempt to debug test failures
* More test failure debugging
* Cleanup
* More test failure debugging
* More test debugging
* Fix private var
* Test fix? 🔧
* Allow impersonated users to hit cache again
As part of this I refactored a bit: `impersonation` is now its own
module, used by the `advanced-permissions` module.
The real changes are in:
- `middleware.cache`, where we're no longer not caching impersonated users,
- `metabase.impersonation.middleware`, where we're adding a key to the
query if it'll be impersonated, and
- `metabase.query-processor.util/select-keys-for-hashing`, where we're
selecting that key as part of the query hash.
- a new test in `metabase-enterprise.impersonation.cache-test`, an e2e
test which verifies that impersonated users get a different cache than
non-impersonated users.
* Fix throwing when sandbox/gtap both enforceable
`enforce-impersonations?` was returning `false` because due to the
sandbox, we had "unrestricted" data access from another group (the
sandboxed group).
i refactored a bit:
- `enforced-impersonations-for-db?` now is responsible for throwing in the
sandbox conflict case, rather than `connection-impersonation-role`.
- this way, if there's a conflicting sandbox, we'll throw before we even
check to see whether those impersonations will be enforced (rather than
checking and deciding "nope, they have unrestricted access so we won't
enforce them.")
* kondo yay
* OpenAPI dox generation part 2
* Fix docstring
* metabase.billing.billing => metabase.billing.api
* Fix dox generation code fr fr
* Revert changes to dox for now
* Remove define-routes
* Fix missing routes
* Fix even more missing routes
* Third time's a charm
* Remove extra newlines at end of file
* WIP
* metabase.request.cookies namespace
* Server API namespace
* `metabase.server` => `metabase.server.instance`
* Reformat code
* Revert indentation changes
* Unrevert comment
* Oops delete moved file
* Don't be lazy CAM!!!
* Add TODO
* Please cljfmt
* Bump Kondo version to fix metadata ignores in namespaces being ignored
* Update Kondo and enable a few more linters
* Update Clojure linux install script location
* Ok so apparently the old URL does work
* Make sure things live in the right places
* Why do I always have to clean up other people's messes
* Fix formatting
* People need to knocc it off with writing slow tests
* Fix another test that took 45 SECONDS
* Fix Kondo warning
* Parallel driver tests PoC
* Set fail-fast to false for now
* Try splitting up non-driver tests to see how broken tests are
* Whoops fix plain BE tests
* Ok nvm I'll test this in another branch
* Fix fail-fast
* Experiment with the improved Hawk split logic
* Fix some broken/flaky tests
* Experiment: try splitting MySQL 8 tests into FOUR jobs
* Divide other Postgres and MySQL tests up and use num-partitions = 2
* Another test fix 🔧
* Flaky test fix 🔧
* Try making more stuff fast
* Make athena fast??
* Fix a few more things
* Test fixes? 🔧
* Fix configs
* Fix Mongo job syntax
* Fix busted test from #46942
* Fix Mongo config again
* wait-for-port needs to specify shell I guess
* More cleanup
* await-port can't have a timeout-minutes I guess
* Let's only parallelize MySQL for now.
* Cleanup action
* Cleanup wait-for-port action
* Fix another flaky test
* NOW driver tests will be FAST
* Need to mark driver tests too
* Fix wrong tag
* Use Hawk 1.0.5
* Fix busted metabase.public-settings-test/landing-page-setting-test
* Fix busted `metabase.api.database-test/get-database-test` etc. (hopefully)
* Fix busted `metabase.sync.sync-metadata.fields-test/sync-fks-and-fields-test` for Oracle
* Maybe this fixed `metabase.query-processor.middleware.permissions-test/e2e-ignore-user-supplied-perms-test` maybe not
* Fix busted metabase.api.dashboard-test/dependent-metadata-test because endpoint had differemt sort order than test
* Ok my test fix did not work
* Fix metabase.sync.sync-metadata.fields-test/sync-fks-and-fields-test for Redshift
* Better test name
* More test fixes 🔧
* Schema fix
* PR feedback
* Split off test partitioning into separate PR
* Fix failing Oracle tests
* Another round of test fixes, hopefully
* Fix failing Redshift tests
* Maybe the last round of test fixes
* Fix Oracle
* Fix stray line