Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Dec 06, 2024
  2. Dec 05, 2024
  3. Dec 04, 2024
  4. Dec 03, 2024
  5. Nov 30, 2024
  6. Nov 29, 2024
  7. Nov 28, 2024
  8. Nov 27, 2024
  9. Nov 26, 2024
  10. Nov 25, 2024
    • Chris Truter's avatar
      Delete Hybrid Index Search (#50444) · 162437a2
      Chris Truter authored
      162437a2
    • John Swanson's avatar
      Don't dissoc `:id` in `before-update` (#50375) · 25bab869
      John Swanson authored
      * Don't dissoc `:id` in `before-update`
      
      There seems to be a nasty footgun in toucan2 here.
      
      Say you're executing an `update!` command on a set of IDs, e.g.:
      
      ```
      (t2/update! :model/Card :id [:in 1 2] {:view_count 1})
      ```
      
      This works if:
      
      - both cards 1 and 2 have `view_count=1` already
      
      - both cards 1 and 2 have `view_count!=1`
      
      However.
      
      If one of the two cards has `view_count=1` and another has a different
      view_count, then (if the `before-update` method doesn't have the primary
      key attached) Toucan emits a call to update *every card in the
      database*, without a where clause at all.
      25bab869
  11. Nov 22, 2024
    • Kamil Mielnik's avatar
      [Epic] Show columns from all stages in the dashboard filters (#47167) · 66948709
      Kamil Mielnik authored
      
      * FE - Allow to use in dashboard filters both pre- and post- last aggregation columns (#46670)
      
      * Extract getFilterStageIndexes
      
      * Update comment
      
      * Include 2 last stages in filterable columns in getParameterColumns
      
      * Move getJoinQueryHelpers to test-helpers
      
      * Add basic query creation
      
      * Add breakout columns
      
      * Make tableName optional
      
      * Implement 1-stage test, refactor assertions
      
      * Rename
      
      * Move filter utils up
      
      * Use getGroupItems and appendStageIfAggregated in getFilterableColums
      
      * Introduce Lib.filterGroups
      
      * Revert "Introduce Lib.filterGroups"
      
      This reverts commit 5f8b2d09.
      
      * Don't reuse getGroupItems or appendStageIfAggregated
      
      * Move getFilterStageIndexes out of Lib
      
      * Format code
      
      * Revert types move
      
      * Revert functions move
      
      * Improve diff
      
      * Group dashcard mapping options
      
      * Adjust existing getParameterColumns usages (except unit tests)
      
      * Remove redundant call
      
      * Fix filtering
      
      * Update unit tests
      
      * Format code, remove TODO
      
      * Add stage index assertions
      
      * Add model test for 1-stage query
      
      * Add partial boilerplate for 2-stage query
      
      * Add a 2-stage case
      
      * Add a 2-stage case for model
      
      * Update unit test
      
      * Fix click behavior mapping
      
      * Remove duplicated functions
      
      * Remove complex return type
      
      * Move appendStageIfAggregated and getFilterStageIndexes to metabase-lib/filter.ts
      
      * Re-group columns based on stage index instead of using ML-returned references for comparison
      
      * Add new options to dimension types
      
      * Use the new stage-number option
      
      * Rename appendStageIfSummarized to ensureFilterStage and add explanatory comment
      
      * Remove duplicated ensureFilterStage after merge
      
      * FE - e2e - Cover dashboard filters with tests (#46958)
      
      * Extract getFilterStageIndexes
      
      * Update comment
      
      * Include 2 last stages in filterable columns in getParameterColumns
      
      * Move getJoinQueryHelpers to test-helpers
      
      * Add basic query creation
      
      * Add breakout columns
      
      * Make tableName optional
      
      * Implement 1-stage test, refactor assertions
      
      * Rename
      
      * Move filter utils up
      
      * Use getGroupItems and appendStageIfAggregated in getFilterableColums
      
      * Introduce Lib.filterGroups
      
      * Revert "Introduce Lib.filterGroups"
      
      This reverts commit 5f8b2d09.
      
      * Don't reuse getGroupItems or appendStageIfAggregated
      
      * Move getFilterStageIndexes out of Lib
      
      * Format code
      
      * Revert types move
      
      * Revert functions move
      
      * Improve diff
      
      * Group dashcard mapping options
      
      * Adjust existing getParameterColumns usages (except unit tests)
      
      * Remove redundant call
      
      * Fix filtering
      
      * Update unit tests
      
      * Format code, remove TODO
      
      * Add stage index assertions
      
      * Add model test for 1-stage query
      
      * Add partial boilerplate for 2-stage query
      
      * Add a 2-stage case
      
      * Add a 2-stage case for model
      
      * Update unit test
      
      * Fix click behavior mapping
      
      * Remove duplicated functions
      
      * Remove complex return type
      
      * Remove unused @ts-expect-error directive
      - use createQuestionAndDashboard helper instead of command
      - sort imports
      
      * Add boilerplate for query stages test suite
      
      * Add createDashboard
      
      * Try out the new function
      
      * Organize code
      
      * Add descriptions
      
      * Move visitDashboard call out of createDashboard
      
      * Move appendStageIfAggregated and getFilterStageIndexes to metabase-lib/filter.ts
      
      * Re-group columns based on stage index instead of using ML-returned references for comparison
      
      * Add boilerplate for base questions
      
      * Add assertions for mapping options
      
      * Simplify verifyDashcardMappingOptions interface
      
      * Add assertions for all types of parameters
      
      * Update test name
      
      * Format code
      
      * Add new options to dimension types
      
      * Use the new stage-number option
      
      * Add Q2 creation
      
      * Introduce helper constants
      
      * Rename appendStageIfSummarized to ensureFilterStage and add explanatory comment
      
      * Add cases for models
      
      * Extract subroutines
      
      * Add Q3
      
      * Extract createQ2Query and createQ3Query
      
      * Extract createQ1uery, remove createM1
      
      * Optimize verifyPopoverMappingOptions
      
      * Add more assertions
      
      * Add model assertions
      
      * Add tooltip assertion
      
      * Break large functions down
      
      * Restructure tests to prevent memory-related crashes
      
      * Refactor
      
      * Update comment
      
      * Update comment
      
      * Remove createQ1
      
      * Remove createQ2, createQ3
      
      * Refactor
      
      * Refactor
      
      * Comment out failing assertions
      
      * Add Q3 assertions
      
      * Add Q3 assertions
      
      * Add comment
      
      * Introduce createAndVisitDashboardWithQueryMatrix
      
      * Add Q4
      
      * Fix assertions
      
      * Add repro tags
      
      * Add comment
      
      * De-hardcode indexes
      
      * Add Q5-Q8
      
      * Rename
      
      * Add Q5
      
      * Add Q6
      
      * Add Q7 & Q8
      
      * Add Q9
      
      * Fix structure
      
      * Reuse Lib.ensureFilterStage
      
      * Fix unit of time parameters
      
      * Support explicit and implicit stage numbers for temporal-unit params
      
      * Extend test with temporal unit parameter with stage number
      
      * Update unit tests
      
      * Let stage-path handle nil (default) stage-number
      
      ---------
      
      Co-authored-by: default avatarTamás Benkő <tamas@metabase.com>
      
      * Allow filtering on columns from all stages in dashboards (#48254)
      
      * Allow filtering on columns from all stages in dashboards
      
      * Update tests
      
      * Clean up
      
      * Update unit tests
      
      * Distinguish multiple "Summaries" column groups in dashboard filter mapping (#48261)
      
      * Allow filtering on columns from all stages in dashboards
      
      * Update tests
      
      * Clean up
      
      * Update unit tests
      
      * Distinguish multiple "Summaries" column groups
      
      * Fix imports
      
      * Remove redundant attribute
      
      * Update import
      
      * Allow filter params targeting native stages (#48379)
      
      * Move filters on nested native stages to parent stage in expand-mbql-params
      
      Similar to the existing handling in move-join-condition-to-source-query.
      
      This fixes filter params that directly target a native stage with a non-negative :stage-number, e.g. when applying
      dashboard filters to a card where the card query is native.
      
      Fixes #48258
      
      * Add test for filter params explicitly targeting nested native queries
      
      * FE - e2e - Cover dashboard drills with tests (#48289)
      
      * Allow filtering on columns from all stages in dashboards
      
      * Update tests
      
      * Clean up
      
      * Update unit tests
      
      * Distinguish multiple "Summaries" column groups
      
      * Fix imports
      
      * Remove redundant attribute
      
      * Fix type
      
      * Add a test
      
      * Add a test
      
      * Reduce flakiness
      
      * Fix race conditions with last_used_param_values
      - see https://metaboat.slack.com/archives/C010L1Z4F9S/p1727947712609579
      
      * Add a temporary workaround
      
      * Fix name
      
      * Fix applying parameters in Question
      
      * Revert "Fix type"
      
      This reverts commit 67f6778d.
      
      * Rename and reorder tests
      
      * Add more tests
      
      * Update tests to avoid hitting https://github.com/metabase/metabase/issues/46774
      
      * Add Q8 tests and fix tests for Q9
      
      * Update assertions
      
      * Update assertions because of https://github.com/metabase/metabase/issues/48339
      
      * Improve test names
      
      * Add test
      
      * Skip failing test
      
      * Add more tests
      
      * Add test
      
      * Remove redundant code
      
      * Remove invalid cases
      
      * Add test
      
      * Add tests
      
      * Add more assertions
      
      * Add more assertions
      
      * Add assertions
      
      * Add assertions
      
      * Use helper functions
      
      * Use helper functions
      
      * Nest helpers consistently throughout the file
      
      * Decrease flakiness
      
      * Revert "Add a temporary workaround"
      
      This reverts commit 48ed8770.
      
      * Add a temporary workaround
      
      * Add tests
      
      * Add assertions
      
      * Add tests
      
      * Update unit tests
      
      * Make temporary workaround safer
      
      * Add TODOs to github links
      
      * Extract a function to improve readability
      
      * Simplify getParametersMappedToDashcard
      
      * Fix failing tests by calling Lib.ensureFilterStage in the correct place and properly identifying the originalQuestion so that Question.prototype.isDirtyComparedTo returns expected result
      
      * Remove redundant code
      
      * Quick dirty fix to run in CI
      
      * Format code
      
      * Format code
      
      * Update unit tests
      
      * Fix test setup
      
      * Revert "Remove redundant code"
      
      This reverts commit 35b47a10.
      
      * Use Lib.areLegacyQueriesEqual
      
      * Create a new e2e test group: dashboard-filters-2 (#48610)
      
      * Allow filtering on columns from all stages in dashboards
      
      * Update tests
      
      * Clean up
      
      * Update unit tests
      
      * Distinguish multiple "Summaries" column groups
      
      * Fix imports
      
      * Remove redundant attribute
      
      * Fix type
      
      * Add a test
      
      * Add a test
      
      * Reduce flakiness
      
      * Fix race conditions with last_used_param_values
      - see https://metaboat.slack.com/archives/C010L1Z4F9S/p1727947712609579
      
      * Add a temporary workaround
      
      * Fix name
      
      * Fix applying parameters in Question
      
      * Revert "Fix type"
      
      This reverts commit 67f6778d.
      
      * Rename and reorder tests
      
      * Add more tests
      
      * Update tests to avoid hitting https://github.com/metabase/metabase/issues/46774
      
      * Add Q8 tests and fix tests for Q9
      
      * Update assertions
      
      * Update assertions because of https://github.com/metabase/metabase/issues/48339
      
      
      
      * Improve test names
      
      * Add test
      
      * Skip failing test
      
      * Add more tests
      
      * Add test
      
      * Remove redundant code
      
      * Remove invalid cases
      
      * Add test
      
      * Add tests
      
      * Add more assertions
      
      * Add more assertions
      
      * Add assertions
      
      * Add assertions
      
      * Use helper functions
      
      * Use helper functions
      
      * Nest helpers consistently throughout the file
      
      * Decrease flakiness
      
      * Revert "Add a temporary workaround"
      
      This reverts commit 48ed8770.
      
      * Add a temporary workaround
      
      * Add tests
      
      * Add assertions
      
      * Add tests
      
      * Update unit tests
      
      * Make temporary workaround safer
      
      * Add TODOs to github links
      
      * Extract a function to improve readability
      
      * Simplify getParametersMappedToDashcard
      
      * Fix failing tests by calling Lib.ensureFilterStage in the correct place and properly identifying the originalQuestion so that Question.prototype.isDirtyComparedTo returns expected result
      
      * Remove redundant code
      
      * Quick dirty fix to run in CI
      
      * Format code
      
      * Format code
      
      * Update unit tests
      
      * Fix test setup
      
      * Create a new e2e test group because the old one was timing out in CI
      
      * Add the group to GH action
      
      * Revert "Remove redundant code"
      
      This reverts commit 35b47a10.
      
      * Use Lib.areLegacyQueriesEqual
      
      * FE - e2e - Cover combination of unit of time parameter + non-last-stage filters with tests (#48726)
      
      * Add JSDoc for entityPickerModalItem
      
      * Add addToDashboard parameter to saveQuestion
      
      * Add JSDoc for saveQuestion
      
      * Fix import
      
      * Add a test reproducing the bug
      
      * Try to fix unit of time parameters
      
      * Fix wrong stage-index for temporal unit parameters on composed ad hoc questions
      
      * Fix ad-hoc question naming when there is an empty extra filter stage
      
      * Fix unit tests
      
      * FE - Do not add extra filtering stage for pivot tables (#48975)
      
      * Avoid using Lib.ensureFilterStage for pivoted questions
      
      * Fix unit test setup
      
      * Add tests for pivot tables
      
      * Optimize tests
      
      * Test filter modal
      
      * Revert redundant changes
      
      * [WIP] Dashboard filter columns be fixes (#48906)
      
      * Revert "Add a temporary workaround"
      
      This reverts commit 4ea37487.
      
      * Fix some of the issues and unskip some of the E2E tests
      
      * Acknowledge that metrics are transparent
      
      * Fix breakouts by the same column with different temporal-units
      
      * Use non-negative stageIndex for temporal unit parameters
      
      * Add stage if there is an explicit reference to stage after the last
      
      Instead of duplicating the ensure-filter-stage logic, just check if there is a parameter referencing the filter
      stage (which is always one after the last in the query). If there is such a reference, add that stage.
      
      ---------
      
      Co-authored-by: default avatarKamil Mielnik <kamil@kamilmielnik.com>
      
      * Require only breakouts when adding new stage in ensure-filter-stage (#49067)
      
      * Only require breakouts when adding new stage in ensure-filter-stage
      
      Previously, this function required both breakouts and aggregations.
      
      Closes #48339
      
      * Update e2e tests after changes to Lib.ensureFilterStage
      
      This resolves all-but-one of the TODOs related to #49339
      
      Related to #49022
      
      * Implementing parameter_mappings migration (#49256)
      
      * FE - e2e - Update tests after `Lib.ensureFilterStage` changes (#49222)
      
      * Unskip #19744 repro
      
      * Remove sanity checks
      
      * Update comment
      
      * Fix typo
      
      * Remove invalid test
      
      * Ignore pivoted "table" viz and and inline Question.prototype.isPivoted
      
      * Remove test for pivoted table
      
      * FE - e2e - Click behavior (#49239)
      
      * Unskip #19744 repro
      
      * Remove sanity checks
      
      * Update comment
      
      * Fix typo
      
      * Remove invalid test
      
      * Ignore pivoted "table" viz and and inline Question.prototype.isPivoted
      
      * Remove test for pivoted table
      
      * Add a test
      
      * Disable columns from non-last stage in click behavior
      
      * Finish the test
      
      * Refactor
      
      * FE - e2e - Cover public & embedded dashboards with tests  (#49280)
      
      * Add test for public dashboard
      
      * Add test for embedded dashboard
      
      * Add comment
      
      * Add test for 2nd stage column
      
      * Add test for 2nd stage aggregation column
      
      * Add test for 2nd stage breakout column
      
      * Add assertions for models
      
      * Handle no auto-pivoting of ad-hoc questions from drill thrus
      
      ---------
      
      Co-authored-by: default avatarAlexander Polyankin <alexander.polyankin@metabase.com>
      
      * Add missing test setup
      
      * Address some review comments (#49429)
      
      * FE - Show columns from all stages in click behavior (target question)  (#48828)
      
      * Add JSDoc for entityPickerModalItem
      
      * Add addToDashboard parameter to saveQuestion
      
      * Add JSDoc for saveQuestion
      
      * Fix import
      
      * Add a test reproducing the bug
      
      * Try to fix unit of time parameters
      
      * Fix wrong stage-index for temporal unit parameters on composed ad hoc questions
      
      * Fix ad-hoc question naming when there is an empty extra filter stage
      
      * Fix unit tests
      
      * Fix non-unique keys
      
      * Add stage-number to click behavior dimension target
      
      * Call Lib.ensureFilteringStage in click behavior
      
      * Use describeEE because click behavior tests use setTokenFeatures("all")
      
      * Stop testing implementation details
      
      * Stop testing implementation details
      
      * Stop testing implementation details
      
      * Modernize test and make it less flaky
      
      * Address flake source
      
      * Fix SAMPLE_DB_ID
      
      * Unskip repro for #19744
      
      * Add a test
      
      * Update test name
      
      * Introduce verifyNotebookQuery
      
      * Use verifyNotebookQuery
      
      * Use verifyNotebookQuery
      
      * Move verifyNotebookQuery to helpers
      
      * Assert items count in verifyNotebookQuery
      
      * Extract helper functions
      
      * Rename helpers
      
      * Refactor
      
      * Consistent comments
      
      * Extract verifyVizTypeIsLine
      
      * Add scrollIntoView calls for extra safety
      
      * Add TODO
      
      * Use verifyNotebookQuery
      
      * Make stages optional
      
      * Add createMultiStageQuery
      
      * Remove redundant scrollIntoView calls
      - We don't need them because the assertions are not using "be.visible"
      
      * Improve test setup
      
      * Add more assertions
      
      * Add more assertions
      
      * Add basic join support to verifyNotebookJoins
      
      * Unnest code
      
      * Implement join assertions
      
      * Implement expressions and sort assertions
      
      * Simplify code
      
      * Add commented-out assertions
      
      * Yes, it is correct
      - it's stageIndex which sourceColumn comes from in sourceQuery
      
      * Conditionally apply filter stage
      
      * Allow mapping to all stages in click behavior
      
      * Remove redundant argument
      
      * Simplify diff
      
      * Simplify diff
      
      * Update test setup
      
      * Remove TODO related to metabase#49282
      - Closes #49282
      
      * Support fetching param values on filter stage (#50120)
      
      * Support fetching param values on filter stage
      
      Fixes #48613
      
      * Fix temporal-unit-parameters
      
      * Enrich dimension targets in click_behavior with stage-numbers (#49911)
      
      * Enrich dimension targets in click_behavior with stage-numbers
      
      Fixes #49110
      
      * Add missing stage-number
      
      * Remove changeSynchronousBatchUpdateSetting references
      
      * Update assertions to include time bucket
      
      * Use mbql.u/legacy-last-stage-number in metabase.query-processor.card
      
      ---------
      
      Co-authored-by: default avatarTamás Benkő <tamas@metabase.com>
      Co-authored-by: default avatarappleby <86076+appleby@users.noreply.github.com>
      Co-authored-by: default avatarmetamben <103100869+metamben@users.noreply.github.com>
      Co-authored-by: default avatarAlexander Polyankin <alexander.polyankin@metabase.com>
      66948709
    • Sloan Sparger's avatar
      Allow questions to run if there's an invalid `loading-message` setting value (#50419) · 50585b31
      Sloan Sparger authored
      
      * prevent the UI from breaking if there is an invalid enum value set by MB_LOADING_MESSAGE
      
      * add test case
      
      * add enum validation on backend
      
      * oops - fix set-value-of-type! call
      
      ---------
      
      Co-authored-by: default avatarNoah Moss <noahbmoss@gmail.com>
      50585b31
    • metamben's avatar
      Normalize :temporal_units in action, card, and dashboard entries (#50418) · 7393892b
      metamben authored
      * Normalize :temporal_units in action, card, and dashboard entries
      
      Fixes #50371
      7393892b
    • Chris Truter's avatar
      A single spae (#50405) · 7232d91a
      Chris Truter authored
      7232d91a
    • Ngoc Khuat's avatar
      Search ingestion test (cont) (#50399) · 77fb4fce
      Ngoc Khuat authored
      77fb4fce
    • Ngoc Khuat's avatar
      Search index EE ranker tests (#50342) · 43a7c3f6
      Ngoc Khuat authored
      43a7c3f6
    • Ngoc Khuat's avatar
      Card ingestion test (#50388) · 092a4fb6
      Ngoc Khuat authored
      092a4fb6
    • Cam Saul's avatar
      :race_car: :rocket: Partition Postgres CI jobs; shave 10 minutes off of CI :race_car: :rocket: (#48699) · ac9ba610
      Cam Saul authored
      * Partition Postgres jobs (alternate approach)
      
      * Make sure we're still testing SSL
      
      * Improved Postgres job naming
      ac9ba610
    • Chris Truter's avatar
  12. Nov 21, 2024
Loading