Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Nov 12, 2021
  2. Nov 11, 2021
    • Jeff Evans's avatar
      Change query_cache.results column to correct blob type (#18848) · 6a40ee38
      Jeff Evans authored
      * Change query_cache.results column to correct blob type
      
      Add Liquibase changeSet to modifyDataType of query_cache.results to ${blob.type} (an idempotent operation on most DBs)
      
      Add schema migrations test to confirm, which simulates the broken app DB state, then runs the migration, then confirms the fixed type
      6a40ee38
    • Dalton's avatar
      update postcss deps (#18860) · 11cf75d7
      Dalton authored
      * update postcss deps
      
      * update the postcss config
      
      * replace color fn with color-mod fn
      
      * remove webpack-postcss-tools
      
      * fix postcss config
      
      * fix negated vars
      11cf75d7
    • dpsutton's avatar
      Map tiles improvements (#18912) · 1c70882b
      dpsutton authored
      * Speed up interger or string recognition
      
      jeff helpfully pointed this out. I did some repl benchmarks
      
      ```clojure
      (comment
        (doseq [x ["3" "bob"]]
          (dotimes [_ 3] (time (dotimes [_ 10000] (try (Integer/parseInt x)
                                                        (catch NumberFormatException _ x))))))
        (doseq [x ["3" "bob"]]
          (dotimes [_ 3] (time (dotimes [_ 10000] (if (re-matches #"\d+" x)
                                                    (Integer/parseInt x)
                                                    x))))))
      
      tiles-test=> (doseq [x ["3" "bob"]]
                     (dotimes [_ 3] (time (dotimes [_ 10000] (try (Integer/parseInt x)
                                                                  (catch NumberFormatException _ x))))))
      "Elapsed time: 5.72825 msecs"
      "Elapsed time: 1.531042 msecs"
      "Elapsed time: 0.797041 msecs"
      "Elapsed time: 32.120875 msecs"
      "Elapsed time: 27.848375 msecs"
      "Elapsed time: 23.820542 msecs"
      nil
      tiles-test=> (doseq [x ["3" "bob"]]
                     (dotimes [_ 3] (time (dotimes [_ 10000] (if (re-matches #"\d+" x)
                                                               (Integer/parseInt x)
                                                               x)))))
      "Elapsed time: 5.356417 msecs"
      "Elapsed time: 1.97225 msecs"
      "Elapsed time: 1.868708 msecs"
      "Elapsed time: 1.214666 msecs"
      "Elapsed time: 1.185625 msecs"
      "Elapsed time: 1.19025 msecs"
      nil
      tiles-test=>
      ```
      
      * Only select lat/lon fields in api/tiles
      
      We required the index of lat and long columns, ran the whole query, and
      then just grabbed those columns in a `(for [row rows] [(nth row
      lat-idx)..])`. But of course we can just update the fields we want to
      select in the query.
      
      MBQL and native queries flow through this codepath depending on the
      source of the query of the card being mapped. For mbql queries, it is
      straightforward, add a filter on the lat long and replace the fields
      with just lat and long fields. For native, we nest the native query as a
      nested query and then proceed on the resulting mbql query. The only
      difference is requiring the type annotation for the field type.
      
      mbql field: [:field 32 nil] vs [:field "latitude" {:base-type :type/Float}]
      
      This addresses memory concerns. The query is not limited and we don't
      need to select an entire row for these purposes. Dropping lots of text
      fields, id fields, etc could save quite a bit of memory when resolving
      the entire result set in memory.
      
      * Add limit to number of coordinates per tile
      
      these queries were unbounded in getting coordinates for each tile. But
      in a visualization, can there really be more information provided? We
      were leaving them unbounded and getting back millions of rows (reported
      on #4844). So we were adding unnecessary detail at the price of OOM
      errors.
      
      Note tests have been changed to show that the limit of the original mbql
      query is clobbered and the limit of the original native query is only
      present in the nested query whereas the outer query selects its own
      limit.
      
      As always, should this number be exposed as a setting? Configurable in
      the UI? Leaving as a hardcoded and documented number for the moment.
      
      * docstring
      
      * Remove col indices from api/tiles
      
      since we just select the actual columns we want, we no longer need the
      index in the results of those cols. they are always the first and second
      columns
      
      * Trim final slash on url
      1c70882b
    • dpsutton's avatar
      Nest qbnewb under /modal to allow for other modals (#18926) · 11d9bd55
      dpsutton authored
      * Nest qbnewb under /modal to allow for other modals
      
      move the api from api/user/:id/qbnewb -> api/user/:id/modal/qbnewb to
      allow for the upcoming new dismissable modal
      
      * Add additional datasetnewb route
      
      staying with the same naming scheme as qbnewb. the db field is
      is_datasetnewb, the route just takes datasetnewb.
      
      I'm not wild about the default is true, set to false, and the naming
      scheme. But will be easier to migrate and easier for FE to use if we
      continue the defaults/logic etc.
      
      * Remark on db change in migration file
      11d9bd55
    • Alexander Polyankin's avatar
  3. Nov 10, 2021
  4. Nov 09, 2021
    • Ariya Hidayat's avatar
    • Alexander Lesnenko's avatar
      Implement waterfall static visualization (#18885) · 8f10ae6d
      Alexander Lesnenko authored
      * add waterfall static viz
      
      * review fixes
      8f10ae6d
    • Anton Kulyk's avatar
      Update question header breadcrumbs (#18903) · ab3d9be8
      Anton Kulyk authored
      * Slightly simplify QuestionDataSource
      
      * Extract and cleanup HeaderBreadcrumbs
      
      * Only keep database icon in breadcrumbs
      
      * Fix object ID not shown in detail view
      
      * Use `text-light` color for CollectionBadge
      
      * Support icon name as a prop of Badge
      
      * Add `inactiveColor` prop to Badge
      
      * Unify head and subhead breadcrumb components
      
      * Fix ad-hoc view items alignment
      
      * Fix invalid CSS
      
      * Use isStructured question method
      
      * Fix filters display in adhoc question header
      
      * Fix E2E selector
      
      * Fix saved question filters alignment
      ab3d9be8
    • Ariya Hidayat's avatar
    • Jeff Evans's avatar
      Secrets 🔐 PR 5 - Translate secret connection-properties into existing types... · 13e9414b
      Jeff Evans authored
      Secrets 🔐 PR 5 - Translate secret connection-properties into existing types understood by frontend (#18236)
      
      * Translate secret connection-properties into existing types understood by frontend
      
      For all :type :secret properties, before returning over the wire (i.e. from `available-drivers-info`), translate the connection-property into one or more new client side properties, using the existing types, to encapsulate the behavior of that individual secret "unit".  Depending on the :secret-kind and hosting environment, this could mean there are multiple additional properties injected (one for the file upload versus local path option field, one for the value itself on upload, and one for the file path)
      
      Adding utility function to do the reverse (i.e. translating those client side properties back to the server secret property definition)
      
      Adding tests for both (including updating secret-test-driver to cover all of these)
      
      Add support for the treat-before-posting connection property config
      
      * Fix bug in `delete-orphaned-secrets!`
      13e9414b
    • Alexander Polyankin's avatar
      73251979
    • Anton Kulyk's avatar
      Extract DataSourceSelector (#18905) · b3a5c2b2
      Anton Kulyk authored
      b3a5c2b2
    • Anton Kulyk's avatar
      Add ability to turn a dataset back into a question (#18873) · 6bc2fb9f
      Anton Kulyk authored
      * Add `hasPlugin` check to moderation plugin
      
      * Remove border from QuestionModerationSection
      
      * Remove padding from question description
      
      * Reorder imports and exports
      
      * Remove not used prop
      
      * Manage section border in the sidebar
      
      * Add tests for question details sidebar
      
      * Add basic dataset management section
      
      * Add icon for dataset > question action
      
      * Test dataset —> question change
      
      * Add ability to turn a dataset into a question
      
      * Use HTML buttons for dataset management
      
      * Show question verification section
      
      * Fix datasets e2e test helper
      
      * Fix hover effect for dataset action buttons
      
      * Fix question sidebar button alignment
      
      * Use CSS to handle sidebar border
      6bc2fb9f
  5. Nov 08, 2021
  6. Nov 06, 2021
Loading