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 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
  6. 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
  7. Aug 14, 2024
  8. 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
  9. 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
  10. 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
  11. Jul 25, 2024
  12. Jul 23, 2024
  13. Jul 18, 2024
  14. Jul 16, 2024
  15. Jul 15, 2024
  16. Jul 10, 2024
  17. Jun 20, 2024
  18. Jun 19, 2024
  19. Jun 07, 2024
  20. Jun 03, 2024
  21. May 31, 2024
  22. May 30, 2024
  23. 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
  24. May 20, 2024
  25. May 10, 2024
  26. May 09, 2024
  27. May 08, 2024
    • Cam Saul's avatar
      Cam's module linter 5000 (#42250) · 1e9e60a0
      Cam Saul authored
      * Cam's module linter 5000
      
      * Get Kondo passing
      
      * Revert changes to usage of mdb.setup/setup-db!
      
      * Check ns shapes
      
      * Add ns :require shape linter; PR feedback
      
      * Linter fixes :wrench:
      Unverified
      1e9e60a0
  28. Apr 30, 2024
  29. Apr 29, 2024
    • Cam Saul's avatar
      Add `Offset()` expression (BE + FE) (Part 1) (#41346) · dd0f14a5
      Cam Saul authored
      * Fix add-alias-info matching for nominal field literal refs
      
      * Minor cleanup
      
      * Minimize diff
      
      * A bit more cleanup
      
      * Cumulative aggregations w/ multiple breakouts should reset counts (#2862)
      
      * Update dox
      
      * Do the nesting FIRST before adding alias info.
      
      * Remove unused
      
      * FE for Offset()
      
      * Cleanup stray code
      
      * Prettier
      
      * Kondo
      
      * Test fixes :wrench:
      
      * Better error message when no breakout
      
      * Support offset as an expression with no breakouts. Still require an ORDER BY tho.
      
      * Fix most stuff
      
      * Hack city??????
      
      * Revert nest-query changes and disable the offset-no-breakout test for now.
      
      * Appease TypeScript
      
      * Test fix :wrench:
      
      * Oracle & MySQL test fixes
      
      * Test fixes :wrench:
      
      * Remove maxWorkers for FE unit tests
      Unverified
      dd0f14a5
  30. Apr 22, 2024
Loading