This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Oct 14, 2024
-
-
metamben authored
* Implement inactive field removal
-
Cam Saul authored
* Collapse `metabase.shared.*` namespaces * Fix Kondo warnings * Does updating the stories-data keys fix the failing tests? * Appease msgcat * Appease msgcat * Fix typo * Make the build happy * Appease fslint
-
John Swanson authored
* Remove `MB_API_KEY` env var A bit awkwardly, we never set `:deprecated` on the setting before. We can retroactively deprecate this as of v50. I'm keeping the setting purely to emit the warning message on startup.
-
John Swanson authored
* version and channel query params for version info https://github.com/metabase/metabase/issues/48615 * omit blanks from query params for version info
-
Cam Saul authored
* Experimental: try splitting MySQL test jobs into 4 partitions intstead of 2 * user-http-request should make sure users are initialized * Fix MySQL deadlocks in tests * Bump init timeout to 90 seconds * Fix metabase.api.session-test/logout-test
-
- Oct 11, 2024
-
-
Ngoc Khuat authored
-
- Oct 10, 2024
-
-
appleby authored
* Relax the arg types to ExpressionArg for concat expressions in the legacy schema Relax the arg types to ExpressionArg for concat since many DBs allow to concatenate non-string types. This also aligns with the corresponding MLv2 schema and with the reference docs we publish. Fixes #39439 * Add nested concat schema tests * Add nested-concat query-processor tests
-
dpsutton authored
* Always startup prometheus metrics previously only started up when a port was provided ``` MB_PROMETHEUS_SERVER_PORT=9191 java -jar metabase.jar ``` But these counters are useful to be included in anonymous stats. So let's start up the collectors and then we can get their values like: ```clojure prometheus=> (dotimes [_ 500] (inc :metabase-email/messages)) nil ;; prometheus/value is iapetos.core/value here prometheus=> (-> system :registry :metabase-email/messages prometheus/value) 501.0 ``` * rename `metabase.analytics.prometheus/inc` to `inc!` it side effects a value and now no longer shadows `clojure.core/inc` so we're all happy
-
Ngoc Khuat authored
* [Notification] Notification and subscription (#47707) * [Notification] Notification and subscription (#47707) * [Notification] Handlers + recipients (#47759) * [Notification] Channel template table and model (#47782) * [Notification] Render system event emails (#47859) * [Notification] Strict type for channel template and notification recipient (#47910) * [Notification] Event hydration (#47953) * [Notification] Send asynchronously (#48200)
-
- Oct 09, 2024
- Oct 08, 2024
-
-
dpsutton authored
https://github.com/metabase/metabase/issues/41919#issuecomment-2400542908 This issue goes away in 5.3.1 of apache poi. Seems like they have a yearly release cadence so we can ensure this exists for the time being and then remove this when we can bump to 5.3.1 ```diff index b763a1ffdf..c87992c935 100644 --- a/deps.edn +++ b/deps.edn @@ -122,7 +122,7 @@ {:mvn/version "2.23.1"} ; allows the slf4j2 API to work with log4j 2 org.apache.logging.log4j/log4j-layout-template-json {:mvn/version "2.23.1"} ; allows the custom json logging format - org.apache.poi/poi {:mvn/version "5.2.5"} ; Work with Office documents (e.g. Excel spreadsheets) -- newer version than one specified by Docjure + org.apache.poi/poi {:mvn/version "5.3.1"} ; Work with Office documents (e.g. Excel spreadsheets) -- newer version than one specified by Docjure org.apache.poi/poi-ooxml {:mvn/version "5.2.5" :exclusions [org.bouncycastle/bcpkix-jdk15on org.bouncycastle/bcprov-jdk15on]} ```
-
Cam Saul authored
* SQUASH! * Add another sanity checc * Another test fix attempt * Appease Kondo
-
Chris Truter authored
Co-authored-by:
Nick Fitzpatrick <nickfitz.582@gmail.com>
-
Alexander Polyankin authored
* Fix query_metadata not including native queries * Fix query_metadata not including native queries * fix tests
-
Alexander Polyankin authored
-
Nicolò Pretto authored
Co-authored-by:
Oisin Coveney <oisin@metabase.com> Co-authored-by:
Mahatthana (Kelvin) Nomsawadi <me@bboykelvin.dev> Co-authored-by:
bryan <bryan.maass@gmail.com> Co-authored-by:
Nicolò Pretto <info@npretto.com>
-
Cam Saul authored
* 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
-
- Oct 07, 2024
-
-
metamben authored
Implement better partitioning and sorting in window functions
-
Case Nelson authored
* feat: move auth providers behind ee token Fixes #48235 Introduces new premium feature `database-auth-providers`. Moves fetch-auth behind defenterprise - oss will always return an empty map. Add metabase.util.http to test outbound http requests. * Fix broken refs * Drop defmethod as adhoc overrides aren't desirable outside ee * Drop unessary require * Fix token and tests * Fix tests * Fix formatting * Fix var cast exception * Fix connection test * Move test to ee namespace * Move more tests behind enterprise * Fix checked-section hiding
-
- Oct 04, 2024
-
-
Ryan Laurie authored
* add update channels in product * support for changing release notes to show beta and nightly info * dont export setting * obey the linter and add tests * export setting * update e2e tests * clojure magic * clojure-foo * better localization * sorry mr linter * add more tests
-
Ngoc Khuat authored
-
- Oct 03, 2024
-
-
lbrdnk authored
* Use context for field id computation while hydrating dashbaord * Update docstring * Fix target * Update lookup * Fix param-target usage * Unskip e2e * Bind *param-id-context* in public dashboard compputation * Fix context update * Fix field-ids->param-field-values-ignoring-current-user * Add tests * Comments * cljfmt * Update field-ids->param-field-values-ignoring-current-user * Update src/metabase/models/params.clj Co-authored-by:
Braden Shepherdson <braden@metabase.com> * Update src/metabase/models/params.clj Co-authored-by:
Braden Shepherdson <braden@metabase.com> * Use atom instead of volatile! * Avoid dynamic function var * Update src/metabase/models/params.clj Co-authored-by:
Braden Shepherdson <braden@metabase.com> * Address remarks --------- Co-authored-by:
Braden Shepherdson <braden@metabase.com>
-
Chris Truter authored
-
- Oct 02, 2024
-
-
appleby authored
* Add BE test for exporting self-joined renamed columns * Add e2e test for exporting self-joined renamed columns See also - Not renamed fields in a same table join inherit the renamed name in exports #48046 - backport: Support both name & field ref-based column keys in viz settings on read and upgrade on write #48243
-
- Oct 01, 2024
-
-
Chris Truter authored
-
Chris Truter authored
-
Chris Truter authored
-
- Sep 30, 2024
-
-
John Swanson authored
* Do not cache all token check failures We want to cache token checks to avoid an issue where we repeatedly ask the store "hey, is this token valid?? is this token valid?? is this token valid??" for the same token. However, transient errors can also occur. For example, maybe a network issue causes the HTTP request to fail entirely. In this case, if we cache the result, the user needs to restart metabase (or wait 5 minutes until the cache is cleared) before they can attempt to validate their token again. This PR moves the cache logic deeper into the stack. We want to cache "successful" responses from the store API - cases where the store has told us categorically that the token is or is not valid. We don't want or need to cache other things that might happen. Maybe your token isn't the right length - we can recalculate that, it's ok. Maybe you get a 503 error from the Store - we should let you retry. Maybe your network is having issues and you can't contact the Store at all - again, we should let you retry. The one potential issue I see here is that if the store goes down, we'll massively increase the number of requests we send to the store, potentially making it harder to recover. If this is a concern, I can add a circuit breaker: if we repeatedly get errors back from the store, back off and stop making requests for a while. * Add a circuit breaker to store API requests In the pathological case where the store goes down for >5 minutes, the cache will expire and all instances everywhere will start repeatedly making requests for token validation at once. This might make recovering from an outage more difficult. This adds a circuit breaker around the API request. If the call repeatedly throws (5XX errors, socket timeouts, etc.) then we'll pause for 1 minute, during which time all calls to token validation will immediately fail without making any request to the API. After one minute, we'll allow one request through to the API. If it succeeds, we'll go back to normal operation. Otherwise, we'll wait another minute.
-
- Sep 27, 2024
-
-
Noah Moss authored
-
Braden Shepherdson authored
This was old logic to support certain drivers (eg. pre-JDBC Druid) and isn't required for most. It's perfectly sound to filter or even break out on a datetime column without bucketing. Adds a new `:temporal/requires-default-unit` driver feature, and enables it only for the legacy Druid driver. Fixes #47341
-
adam-james authored
Fixes 46575 Creating a Pivot Table Question that is based off of a model that has at least one column derived from a join failed to display row totals. This is because the pivot-options map was being mis-calculated; not all column indices were correctly found/passed in to the :pivot-rows or :pivot-cols keys, causing the pivot query not to compute all necessary data. Here, I just modify the :lib/source key of the columns whose source is a card (as determined by the existence of :lib/card-id). The columns being checked will all have :source/breakout, which caused, in the issue's repro example, the "NAME" column to be missed. If it instead has :lib/source :source/card, the logic inside `lib/find-matching-column` works.
-
Chris Truter authored
-
Chris Truter authored
-
- Sep 26, 2024
-
-
lbrdnk authored
* Databricks JDBC driver base * Add databricks CI job * WIP data loading -- it works, further cleanup needed * Cleanup * Implement ->honeysql to enable data loading * Hardcode catalog job var * Implement driver methods and update tests * Derive hive instead of sql-jdbc * Cleanup leftovers after deriving hive * Run databricks tests on push * Cleanp and enable set-timezone * Disable database creation by tests * Add Databricks to broken drivers for timezone tests * Exclude Databricks from test * Enable have-select-privilege?-test * Restore sql-jdbc-drivers-using-default-describe-table-or-fields-impl post rebase * Restore joined-date-filter-test * Adjust to work with dataset definition tests * Adjust alternative date tests * Remove leftover reflecttion warning set * Update test exts * cljfmt vscode * Add databricks to kondo drivers * Update metabase-plugin.yaml * Update databricks_jdbc.clj * Rework test extensions * Update general data loading code to work with Databricks * Reset tests to orig * Use DateTimeWithLocalTZ for TIMESTAMP database type * Convert to LocalDateTime for set-parameter * Update test extensions field-base-type->sql-tyoe * Update database-type->base-type * Enable creation of time columns in test data even though not supported * Fix typo * Update tests * Udpate tests * Update drivers.yml * Disable dynamic dataset loading tests * Adjust the iso-8601-text-fields-should-be-queryable-date-test * Update load-data/row-xform * Add time type exception to test * Update test data loading and enable test * Whitespace * Enable all driver jobs * Update comment * Make catalog mandatory * Remove comment * Remove log level from spec generation * Update sql.qp/datetime-diff * Update read-column-thunk * Remove comment * Simplify date-time->results-local-date-time * Update comment * Move definitions * Update test extension types mapping * Remove now obsolete ddl/insert-rows-honeysql-form implementation * Update sql-jdbc.conn/connection-details->spec for perturb-db-details * Update load-data/do-insert! * Remove ssh tunnel from driver as tests do not work with it * Update test * Promote ::dynamic-dataset-loading to :test/dynamic-dataset-loading and modify corresponding tests * Adjust to broken TIMESTAMP_NTZ sync * Update read-column-thunk to return timestamps always in Z * Comment * Disable tests for dynamic datasets * Return spark jobs into drivers.yml * Update Databricks CI catalog * Remove vscode cljfmt tweak * Update iso-8601-text-fields-expected-rows * Update datetime-diff * Formatting * cljfmt * Add placeholder test * Remove comment * cljfmt * Use EnableArrow=0 connection param * Remove comment * Comment * Update tests * cljfmt * Update driver's deps.edn * Update tests * Implement alternative `describe-table` * WIP Workaround for timestamp_ntz sync, will be thrown away probably * Update metabase-plugin.yaml with schema filters * Update driver to use schema filters and remove now redundant sync implemnetations * Update tests * Update tests extensions * Update test * Add feature flags for fast sync * Implement describe-fields * Implement describe-fks-sql * Enable fast sync features * Use full_data_type * Comment * Add exception for timestamp_ntz columns to new sync code * Implement db-default-timezone * Add timestamp_ntz ignored test * Add db-default-timezone-test * Fix typo * Update setReadOnly * Add comment on setAutoCommit * Update chunk-size * Add timezone-in-set-and-read-functions-test * Drop Athena from driver exceptions * Use set/intersection instead of a filter * Add explicit fast-sync tests * Update describe-fields-sql and add comment * Add preprocess-additional-options * Add leading semicolon test * Disable dataset creation and update comment * Rename driver to `databricks` * Use old secret names * Fix wrongly copied hsql list * Temporarily allow database creation * Add *allow-database-deletion* * Temporarily allow database creation * Disable database creation * cljfmt * cljfmt
-
Chris Truter authored
-
- Sep 25, 2024
-
-
Noah Moss authored
Co-authored-by:
Thomas Schmidt <thomas@metabase.com>
-
John Swanson authored
* Require `:encryption` for string settings For settings that are not typed as JSON, CSV, or strings, encryption now defaults to `:no` (*except* if you have explicitly marked your setting as `:sensitive?` - these will default to `:when-encryption-key-set`). I went through all our settings and provided what I think are reasonable values here. I tried to be conservative - when I wasn't sure whether a stored setting was sensitive, I kept it as encrypted. For example, the `ldap-port` setting is probably non-sensitive but theoretically someone could be using a weird port for security-by-obscurity, so I kept that encrypted. * Change possible values for `:encryption` `:maybe` was confusing: let's be more explicit that the value will be encrypted `:when-encryption-key-set` to make it obvious what actually turns encryption on and off.
-
- Sep 24, 2024
-
-
Chris Truter authored
-
Chris Truter authored
-