Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Aug 19, 2024
  2. Aug 13, 2024
  3. Aug 12, 2024
  4. Aug 06, 2024
  5. Jul 25, 2024
    • bryan's avatar
      Saving SDK data for embedding statistics (#45954) · 2febfbb4
      bryan authored
      * Adds a middleware that sets 2 dynamic vars
      
      - These vars will be used to insert context for embedding analytics
      
      * migration adding embedding_client and embedding_version to qe and vl tables
      
      * clarify function api
      
      * headers come in -> dynamic vars -> written to db
      
      When the vars are set we insert their values into query execution and
      query_log under embedding_client and embedding_version.
      
      * update update migrations
      
      * add predconditions to migrations
      
      * fix tablenames + dataset_test
      
      * Code Review responses
      
      - remove commented out requires
      - clarify test for merge-count-maps
      Unverified
      2febfbb4
    • John Swanson's avatar
      Loosen N+1 query detection again (#46081) · f9e27201
      John Swanson authored
      I tightened this up by removing the condition here, thinking that CI
      would catch it if it was necessary - but I'm getting failures in
      development. Oops - didn't realize that this defmethod wasn't actually
      applied during CI runs.
      Unverified
      f9e27201
  6. Jul 24, 2024
    • John Swanson's avatar
      Improve N+1 detection for simple hydration methods (#45848) · 50d0c35a
      John Swanson authored
      We have N+1 detection for simple hydration methods that checks to see
      whether the hydration method made any DB queries at all. This makes
      sense, because a simple hydration method is called on each instance
      individually - if we make database calls *each time*, we're in trouble.
      
      Where this runs into issues is with cached data, where the simple
      hydration method is populating the cache - e.g. `:can_read` or
      `:can_write` dereferencing `api/*current-user-permissions-set*`.
      Currently we specifically exclude those hydration methods from the
      check.
      
      But after running into this again for a different simple hydration
      method, I think there's a more robust approach:
      
      - first, run the hydration method without counting DB queries
      
      - then, run it again and make sure we don't make any additional DB
      queries.
      
      There is a potential downside here: if someone wrote a simple hydration
      method with side effects, they'd potentially be very confused (in
      development - this doesn't run in prod!) when those side effects
      happened twice for a single hydration. But I *think* that's fairly
      unlikely.
      Unverified
      50d0c35a
  7. Jul 22, 2024
  8. Jul 18, 2024
    • Cam Saul's avatar
      Use single connection for test data loading & big test data loading improvements (#45268) · bab905c0
      Cam Saul authored
      * Reuse connection for test data loading & JDBC data loading overhaul
      
      * Revert silly change
      
      * Remove unneeded logic for recording which datasets are loaded or not-yet-loaded
      
      * Ok so I guess we do need the code to detect duplicate dataset loading after all
      
      * B I G  improvements
      
      * Appease Kondo
      
      * Test fixes :wrench:
      
      * More test fixes :wrench:
      
      * Fix dataset-already-loaded?-test
      
      * Fix test
      
      * Fix Presto JDBC and greatly improve test data load speed for it
      
      * Postgres test fix :wrench:
      
      * Fix compilation errors
      
      * MySQL fixes :wrench:
      
      * Fix syntax error
      
      * MySQL fixes :wrench:
      
      * Implement `dataset-already-loaded?` for Athena and cache the set of existing databases
      
      * Fix Redshift
      
      * Fix Presto JDBC
      
      * Vertica test fix :wrench:
      
      * Fix Oracle dataset-already-loaded?
      
      * Test fixes and parallelize some API tests.
      
      * Test fixes :wrench:
      
      * Oracle test fix? :wrench:
      
      * Another test fix :wrench:
      
      * Stop putting random spaces in code bodies this is not JavaScript code
      
      * with-temp-vals-in-db should merge in original value of Database settings
      
      * The most test fixes :wrench:
      
      * 3 or 4 test fixes :wrench:
      
      * Add schemas around stuff to catch errors
      
      * Appease Kondo
      
      * Implement dataset-already-loaded? for vertica
      
      * Implement dataset-already-loaded? for SQLite and Snowflake
      Unverified
      bab905c0
  9. Jul 16, 2024
  10. Jul 09, 2024
  11. Jul 02, 2024
  12. Jul 01, 2024
  13. Jun 21, 2024
    • John Swanson's avatar
      Fix dev `migrate!` command (#44545) · 0637fefa
      John Swanson authored
      There were two problems here:
      
      - wrong args to `mdb/migrate!` (passing the db-type as well as the data
      source), and
      
      - in MySQL, the changelog table name is not `:databasechangelog`. Use
      `metabase.db.liquibase/changelog-table-name` to get the actual table name.
      Unverified
      0637fefa
  14. Jun 19, 2024
  15. Jun 18, 2024
  16. May 30, 2024
    • bryan's avatar
      CRU card events will log recent-views, and get returned through the API (#43037) · 3b2736c2
      bryan authored
      * Handles card events for CRU (not D) => recent view
      
      * add tests
      
      * avoid some errors in dev
      
      We expect recent-views/post-process to return nil occasionally (for
      permissions reasons, or more), so let's filter those out instead of
      printing a noisy unactionable warning
      
      * uncomment and fix test
      
      * fix some cypress tests + docs improvements
      
      * update more cypress tests
      
      * more cypress test updates
      
      * adding a card puts it into your recents now
      
      * fix notebook-data-source
      
      * fix notebook-data-source
      
      * fixing more e2e tests
      
      * fix command palette e2e tests
      
      * run prettier
      
      * fix style issue
      
      * update notebook-data-source tests
      
      * update homepage e2e tests
      
      * Next question is in recents, now
      
      * update command palette: skip the first pagedown, since it is a noop
      
      * check the buttons for their respective names
      
      * ensure that the model is there, and no questions are
      Unverified
      3b2736c2
  17. May 10, 2024
  18. May 09, 2024
  19. May 08, 2024
  20. Apr 26, 2024
  21. Apr 08, 2024
  22. Mar 26, 2024
  23. Mar 22, 2024
  24. Mar 21, 2024
    • Cam Saul's avatar
      Rename `metabase.mbql` to `metabase.legacy-mbql` (#40158) · 0a15637f
      Cam Saul authored
      * Wow
      
      * Test fix :wrench:
      
      * Fixes
      
      * Actions should use strings for column names (fix :update-row and :create-row normalization)
      
      * MLv2 schema should check against keys for the other query type
      
      * Ok, have I fixed things?
      
      * More fixes :wrench:
      
      * Fix indentation
      
      * Another round of test fixes. :wrench:
      
      * Hopefully the last few test fixes :wrench:
      
      * We need to test normalization for queries that have keyword keys as well.
      
      * Fix Cljs i18n namespaces
      
      * Sort namespaces
      
      * Only test against H2
      
      * Rename `metabase.mbql` to `metabase.legacy-mbql`
      
      * Fix Kondo warnings
      
      * Test fixes :wrench:
      
      * Register MBQL clause schemas and test fixes :wrench:
      
      * Test fixes and PR feedback
      
      * Test fix
      
      * Remove the normalization tests
      
      * Test fixes :wrench:
      
      * Fix kondo
      
      * Fix import
      
      * Another fix :wrench:
      
      * Merge
      
      * FIXES
      
      * Add another missing REQUIRE
      Unverified
      0a15637f
  25. Mar 20, 2024
  26. Mar 14, 2024
  27. Mar 11, 2024
    • dpsutton's avatar
      Db api (#39731) · 1e7823d1
      dpsutton authored
      * first move to a db api
      
      * mdb.spec into mdb
      
      * mdb.u/isa -> mdb.query/isa
      
      * mdb.u/qualify -> mdb.query/qualify
      
      * last of mbql.u -> mbql.query and :gun:mbql.u:sparkler:
      
      * remove last of the mdb.connection/db-type and use from mdb/db-type
      
      * remove the last non-cmd usages of mdb.connection
      
      had some circularity in
      
      models.interface requires mdb/db-type for sql flavored "now"
      mdb requires db/setup
      which requires db/custom_migrations to ensure they are on cp
      custom migration requires json functions in models.interface
      
      so had to do a dynamic require for the db-type
      
      * get db-type from mdb not mdb.env
      
      * invoke `(mdb/app-db)` and not pass a var. lots of things fail
      
      * mdb.setup/migrate! into mdb with potemkin
      
      * remove get-connection. call .getConnection on the app-db
      
      perhaps invites clumsy usage outside of `with-open` if it's a top level
      function
      
      * namespace docstrings
      
      * last few and grab db.env/db-file into api ns
      
      * lint cleanup
      
      * addresses PR comments
      Unverified
      1e7823d1
  28. Mar 06, 2024
  29. Feb 27, 2024
    • Cam Saul's avatar
      Drop report_card.dataset (#38981) · ddfd9f63
      Cam Saul authored
      
      * Drop report_card.dataset [WIP] [ci skip]
      
      * Drop report_card.dataset
      
      * Some test fixes
      
      * More test fixes
      
      * All OSS tests should be fixed now?
      
      * Remove check for :dataset key from snake-hating-map
      
      * Remove NOCOMMIT stuff
      
      * Remove unused namespaces
      
      * PR feedback
      
      * Migrate dataset attribute in autocomplete suggestions (#39054)
      
      * FE - Migrate `dataset: true` to enum value in Bookmarks (#39056)
      
      * Fix Card["type"] - Bookmark["card_type"] mapping and add an extra assertion
      
      * Fix card-type check out of raw query
      
      * Fix the test
      
      * Fix tests after merge
      
      * Log body when unexpected response code
      
      * Get logging in CI
      
      * Relax is_upload schema for latest mariadb
      
      ---------
      
      Co-authored-by: default avatarKamil Mielnik <kamil@kamilmielnik.com>
      Co-authored-by: default avatarCase Nelson <case@metabase.com>
      Co-authored-by: default avatarAlexander Polyankin <alexander.polyankin@metabase.com>
      Unverified
      ddfd9f63
  30. Feb 15, 2024
    • Cam Saul's avatar
      Mega QP context and entrypoint overhaul. Reduce QP hairiness by 30% (#35465) · 80dcbdfb
      Cam Saul authored
      * QP enterprise middleware should use `defenterprise`
      
      * Test fix? :wrench:
      
      * Remove `:rff` from the Query Processor context map
      
      * Sort namespaces
      
      * Simplify QP entrypoints part 1
      
      * Test fixes :wrench:
      
      * Test fixes :wrench:
      
      * Make sure defenterprise dispatch is done for every QP run
      
      * B I G  QP context overhaul
      
      * WIP
      
      * Remove qp.context.default
      
      * Test fix :wrench:
      
      * PR feedback
      
      * QP context overhaul [WIP] [ci skip]
      
      * QP context overhaul [WIP] [ci skip]
      
      * Fix duplicate preprocesses
      
      * Some test fixes.
      
      * More test fixes [ci skip]
      
      * Source card resolution middleware should be preprocessing middleware, not around [ci skip]
      
      * Test fixes [WIP] [ci skip]
      
      * Remove `test-qp-middleware`
      
      * Remove `qp/compile`
      
      * Fix Kondo warnings/cleanup
      
      * Remove `mt/compile`
      
      * Fix most tests
      
      * Mostly everything working?
      
      * 4 failures, 1 error
      
      * Eliminate QP context `reducedf`
      
      * 3 failures, 0 errors <3
      
      * All tests are passing <3
      
      * Remove dead debug-qp code
      
      * Fix test failure
      
      * Remove async context
      
      * Remove raisef
      
      * Forget it, just remove context entirely [ci skip]
      
      * Fix Kondo errors
      
      * Fix Kondo warnings
      
      * Fix Kondo warnings
      
      * Fix Kondo warnings
      
      * Remove empty namespace
      
      * Fix some reflection warnings
      
      * Update dox [ci skip]
      
      * Test fix :wrench:
      
      * Fix pivot QP
      
      * Misc improvements
      
      * Test fix :wrench:
      
      * Improvements and test fixes
      
      * More test fixes :wrench:
      
      * Test fixes :wrench:
      
      * Address PR feedback
      
      * Test fixes :wrench:
      
      * More test fixes and docstring improvements
      
      * Appease Eastwood
      
      * Test fixes :wrench:
      
      * More test fixes
      
      * Test fixes :wrench:
      
      
      
      * Revert test parallelization in metabase.models.params.chain-filter-test
      
      * Update src/metabase/async/util.clj
      
      Co-authored-by: default avatarmetamben <103100869+metamben@users.noreply.github.com>
      
      ---------
      
      Co-authored-by: default avatarmetamben <103100869+metamben@users.noreply.github.com>
      Unverified
      80dcbdfb
  31. Feb 09, 2024
  32. Jan 30, 2024
    • John Swanson's avatar
      Add intermittent test solver (#38159) · ebbc6670
      John Swanson authored
      Sometimes a test passes when run by itself, but fails due to ordering
      issues. This is typically caused by another test failing to properly
      clean up after itself, leaving the database in a dirty state. For
      example, we might change permissions and forget to change them back, so
      that another test hits an unexpected permissions failure.
      
      Finding the cause of these has been a source of pain for me, so I wrote
      a small snippet to do it for me.
      
      If you have a test that passes when run by itself, but fails when run
      along with all the other tests, you can run
      `(dev/find-root-test-failure! #'my-ns/my-intermittent-failure-test')`.
      
      It will run *all* tests. After each one, it'll run the test you passed
      in. Once that test starts failing, it'll alert you about which test
      caused it to fail.
      Unverified
      ebbc6670
  33. Jan 12, 2024
  34. Jan 04, 2024
  35. Jan 03, 2024
Loading