Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Sep 27, 2024
  2. Sep 26, 2024
    • lbrdnk's avatar
      Databricks JDBC driver (#42263) · c04928d5
      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
      Unverified
      c04928d5
  3. Sep 05, 2024
  4. Aug 30, 2024
    • Ngoc Khuat's avatar
      [notification] webhook for alert (#45201) · d897f201
      Ngoc Khuat authored
      
      * [notification] New method: `channel/can-connect?` (#44955)
      
      * [notification] Channel APIs (#45207)
      
      * [notification] namespaced channel type (#45527)
      
      * [Notification] Render alert for http channel (#45545)
      
      * [notification] Add channel description (#45840)
      
      * [notification] update API to enable http channels for alert (#45839)
      
      * [Notification] Remove channel details for users without write perms (#46034)
      
      * [Notification] Serdes channel (#46031)
      
      * [Notification] Update http details schema (#45960)
      
      * [Notification] Deactivate channels will delete PulseChannel (#46115)
      
      * [Notification] audit log for channel create and update (#46113)
      
      * [Notification] Disallow undefined key for http channel details (#46712)
      
      * [Notification] Handle channel name conflicts (#46818)
      
      * Webhooks Admin Section (#46194)
      
      * [notification] Fix test pulse endpoint does not work properly for http channels (#46474) (#47050)
      
      * [Notification] Fix unable to update multiple channels per type (#47111)
      
      * [Notification] Record Task History when pulse sends channel message (#46218)
      
      * Enabling Webhook Alerts (#47022)
      
      * [Notification] fix cyclic deps (#47379)
      
      * [notification] channel serdes spec (#47386)
      
      Co-authored-by: default avatarNick Fitzpatrick <nick@metabase.com>
      Unverified
      d897f201
  5. Aug 29, 2024
    • Cam Saul's avatar
      Update Kondo to `2024.08.01` and add `deps.edn` aliases to run from the JVM (#47370) · 7fb88340
      Cam Saul authored
      * Add `clojure -M:kondo` and `clojure -M:kondo:kondo/all` and bump version
      
      * Fix Kondo errors
      
      * Fix Kondo+LSP issues with `defendpoint`, `defenterprise`, etc.
      
      * Use replace-deps instead of deps for speed
      
      * Ok apparently maybe we do need to copy configs when we run Kondo on CI
      
      * Oops `./bin/kondo.sh` should not try to use `clj-kondo`
      
      * Remove references to GA driver folders
      Unverified
      7fb88340
  6. Aug 26, 2024
  7. Aug 20, 2024
    • Cam Saul's avatar
      Test defn/defmacro exclamation point linter should also use `:parallel/disallowed` (#46943) · ee25e763
      Cam Saul authored
      * Kondo Config cleanup
      
      * Restore warnings for with-log-messages-for-level until #28827 is merged
      
      * Updated clojure.test hooks
      
      * Fix kondo warning
      
      * Test defn/defmacro exclamation point linter should also use :parallel/disallowed (part 1)
      
      * WIP
      
      * Time for me to learn to spell
      
      * Finish the cleanup
      
      * Remove code I was typing as an example
      
      * Fix renamed var
      
      * Fix the SAML tests
      
      * Fix Kondo warning
      Unverified
      ee25e763
  8. Aug 16, 2024
    • Cam Saul's avatar
      Misc Kondo Config cleanup (#46907) · 23725b4e
      Cam Saul authored
      * Kondo Config cleanup
      
      * Restore warnings for with-log-messages-for-level until #28827 is merged
      
      * Updated clojure.test hooks
      
      * Fix kondo warning
      
      * Time for me to learn to spell
      Unverified
      23725b4e
    • Cam Saul's avatar
      Beautiful log message capturing :star: :heart_eyes_cat: (#28827) · d959430a
      Cam Saul authored
      * Beautiful log message capturing :star: :heart_eyes_cat:
      
      * Don't have log.cljs try to load log.capture, don't know how to make that work
      
      * Remove restriction against use in parallel tests
      
      * Fix tests using invalid syntax
      
      * Port legacy tests
      
      * Make this stuff work with Cljs
      
      * Fix bad syntax
      
      * Convert usages of old version of with-log-messages-for-level to new version
      
      * Update other stuff to use the updated macro
      
      * Fix stuff
      
      * Fix Cljs tests
      
      * Fix world's largest test
      
      * Appease Kondo
      
      * Fix comment
      
      * ClojureScript: only emit capture code in dev builds
      Unverified
      d959430a
  9. Aug 14, 2024
  10. Aug 13, 2024
  11. Aug 07, 2024
    • lbrdnk's avatar
      Add `relative-time-interval` mbql function 2 (#46438) · 582fa9ad
      lbrdnk authored
      * Add :relative-time-interval mbql function
      
      * Add relativeDateFilterPartsRelativeTimeInterval
      
      * Update display-name-method :relative-time-interval
      
      * Update desugar-relative-time-interval
      
      * Define relative-time-filter op
      
      * Add or update tests
      
      * Update tests
      
      * Update display-name-method
      
      * Update test
      
      * Fix positive relative-time-interval shift
      
      * Add checkins:1-per-day:60 dataset
      
      * Update var name
      
      * Bail out from optimization of relative-time-interval desugared filters
      
      * Update dataset kondo hook
      
      * Generate cache required for kondo hooks in kondo.sh
      
      * Rename dataset
      Unverified
      582fa9ad
  12. Aug 05, 2024
    • Chris Truter's avatar
      Various hardenings for SQL analysis (#46432) · 39bb33ec
      Chris Truter authored
      ### Description
      
      This change should fix some explosions in stats due to phantom fields, while also making things a bit more rigorous.
      
      - Record the table schema in query_field - especially useful for unknown tables
      - Allow null table names in query_field - they might be phantoms, or they might not
        - We still have the option to filter them out in tools we build on top
      - Tighten up matching logic to consider schema
      Unverified
      39bb33ec
  13. Aug 01, 2024
  14. Jul 31, 2024
    • John Swanson's avatar
      Some improvements to the REST API for query field validation (#46024) · c4196d99
      John Swanson authored
      * Allow filtering on collection
      
      * Add `effective_ancestors` to collection data
      
      Note: I removed the `qv=` comparator. I think it'.s better to be more explicit
      about what exactly we're asserting. In particular, I hadn't updated the
      `:count` when we were filtering on collection type, so the count was
      still the total for *every* collection even though the results were being
      restricted by the collection. However the `qv=-data` function was still
      reporting that everything was OK, because it was accounting for other
      data from the App DB by just asserting that the count we'd specified was
      lower than the actual count. I'd argue it's better for tests to fail
      locally because I have garbage in my app DB (which I can clean up) than
      succeed when they really shouldn't.
      
      * Consolidate effective ancestors
      
      For the Search API, we're currently returning slightly different
      ancestors:
      
      - it never has the Root Collection, and
      
      - the ancestors don't have a `personal_owner_id`
      
      We could change the API (and maybe will soon - it seems pretty
      unexpected to have `effective_ancestors` sometimes act one way and
      sometimes act another) but for now we can just reshape things to look
      the same as they did before, while using the same code under the hood.
      Unverified
      c4196d99
  15. Jul 30, 2024
    • John Swanson's avatar
      Add an API to get stale dashboards and cards (#44711) · cbbcf4c8
      John Swanson authored
      
      * Make an internal API for retrieving stale content
      
      This introduces the `metabase.stale` module, which has one public
      function (so far): `metabase.stale/find-candidates`. This takes a set of
      `collection-ids`, a cutoff date, and pagination/sort info.
      
      Next, we introduce an HTTP API endpoint that will figure out the appropriate
      set of `collection-ids` for a given user/request, call this function,
      and return the results in the shape we want.
      
      Also: for e2e tests, we need a way to mark a card or dashboard as stale. I
      think the easiest way to do this is to just create a testing endpoint
      that we can call to update the `last_used_at` or `last_viewed_at` of the
      card/dashboard to set it to ~7 months ago.
      
      
      ---------
      
      Co-authored-by: default avatarbryan <bryan.maass@gmail.com>
      Unverified
      cbbcf4c8
  16. Jul 29, 2024
    • Braden Shepherdson's avatar
      [perf] Better CLJC memoization; bounded strategy, fast versions (#46199) · 6e64a3e0
      Braden Shepherdson authored
      Expands and refactors `metabase.util.memoize` to support better cross-platform memoization.
      
      **Better basic memoization**
      
      Use `clojure.core.memoize/memo` (and its clone in CLJS) rather than `clojure.core/memoize` for
      the "everything forever" strategy.
      
      **Bounded memoization**
      
      There are a few places (eg. `u/kebab-case-en`) where we want zero-overhead *hits* and expect the input space
      to be fixed. To guard against runaway memory usage, this **bounded** strategy dumps the entire cache when it
      overflows. It logs an INFO level note when that happens - the intent here is that the threshold should never
      actually get hit!
      
      **Fast JVM versions**
      
      In the special case where the function to memoize takes exactly 1 argument which is a valid map key, we can
      use `ConcurrentHashMap.computeIfAbsent` as the basis of the cache and have much less overhead.
      
      `fast-memo` and `fast-bounded` implement this in CLJ; in CLJS they just call `memo` and `bounded`.
      Unverified
      6e64a3e0
  17. Jul 25, 2024
  18. Jul 23, 2024
  19. Jul 18, 2024
  20. Jul 17, 2024
  21. Jul 16, 2024
  22. Jul 15, 2024
  23. Jul 10, 2024
  24. Jun 20, 2024
  25. Jun 19, 2024
  26. Jun 07, 2024
  27. Jun 03, 2024
  28. May 31, 2024
  29. May 30, 2024
  30. May 27, 2024
  31. May 21, 2024
    • Cam Saul's avatar
      `metabase.search` namespace (#42487) · d5a32ecb
      Cam Saul authored
      * Search API namespace
      
      * Search API namespace
      
      * Search API namespace
      
      * Fix Kondo warnings
      
      * Fix typo
      
      * Finally solve the MySQL ^:parallel test failures <3
      
      * Make some search tests REPL-friendly
      
      * Did I finally fix `^:parallel` MySQL tests?
      
      * Ok I give up just make the search tests single-threaded for MySQL/MariaDB.
      
      * Revert the stuff to make paralell tests work for MySQL... for now.
      
      * Keep new name
      
      * Revert deps-graph changes
      
      * Remove unused namespaces
      
      * Fix Kondo linter for log/info + format
      
      * Misc fixes :wrench:
      
      * Test fixes :wrench:
      Unverified
      d5a32ecb
    • Cam Saul's avatar
      `metabase.analyze` API namespace (#42469) · 618b8c28
      Cam Saul authored
      * Squashed commit
      
      * Update config
      
      * Backport the kondo ignore stuff from other PR.
      
      * `metabase.analyze` API namespace
      Unverified
      618b8c28
Loading