Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Dec 19, 2019
  2. Dec 17, 2019
  3. Dec 16, 2019
  4. Dec 13, 2019
  5. Dec 11, 2019
  6. Dec 10, 2019
  7. Dec 09, 2019
  8. Dec 03, 2019
  9. Dec 02, 2019
  10. Nov 19, 2019
  11. Nov 15, 2019
    • Cam Saul's avatar
      B I G timezone improvements :wrench: (#11308) · 852b3482
      Cam Saul authored
      - Differentiate between columns that record timezone info vs ones that are normalized. (i.e., TIMESTAMP WITH TIME ZONE vs. TIMESTAMP WITH LOCAL TIME ZONE in Oracle and other DBs that have this distinction.) Also differentiate between recording offset from UTC and Zone ID.
      
      - New :type/Temporal base type for :type/Date, :type/Time, and :type/DateTime. Previously, :type/Date and :type/Time derived from :type/DateTime which didn't quite make sense.
      
      - Add new attempted-murders dataset to count number of crows spotted. Has same temporal instant in a variety of formats with and without timezone to facilitate writing new tests
      
      - New tests for TIME WITH TIME ZONE columns.
      
      - Fix MySQL behavior for TIMESTAMP columns, which are the equivalent of Oracle TIMESTAMP WITH LOCAL TIME ZONE (i.e., they are normalized to UTC when stored) vs DATETIME (which are Local non-timezone-aware columns).
      Unverified
      852b3482
  12. Nov 13, 2019
  13. Nov 07, 2019
  14. Oct 28, 2019
    • Paul Rosenzweig's avatar
      Timezone aware scale (#11111) · 3b6f8871
      Paul Rosenzweig authored
      * copy over code from pr
      
      * remove chronological
      
      * remove tick formatting
      
      * remove chronological
      
      * use reporting_timezone
      
      * remove unneeded tests
      
      * remove import
      
      * add timeseriesScale tests/fixes
      
      * eslint
      
      * more timeseriesScale tests
      
      * remove now unneeded rangeFn
      
      * more timeseriesScale tests
      
      * report_timezone to actual_timezone
      
      * display warning if timezones are mismatched
      
      * extract getTimezone
      
      * don't error if series doesn't have a card (in tests)
      
      * move expected/actual timezones into data, add warning when series have different timezones
      
      * fixes
      
      * make sure getTimezone works on transformed series
      
      * update actual/expected to results/requested
      
      * call getTimezone from LAB renderer rather than apply axis
      
      * include timezone as part of a timeseries interval
      
      * missed variable
      
      * include timezone when updating timeseries interval
      
      * remove "report_timezone"
      
      * add timezone fields to DatasetData flow type
      
      * make the fields optional
      
      * Fill data using timezone scale (#11143)
      Unverified
      3b6f8871
  15. Oct 22, 2019
  16. Oct 18, 2019
  17. Oct 16, 2019
    • Cam Saul's avatar
      Timezone fixes (#11081) · 18da2fe5
      Cam Saul authored
      *  Make sure report timezone is taken into account when converting bucketed datetime filter clauses to ranges
      *  Properly handle results for H2 and Oracle TIMESTAMP WITH TIME ZONE columns and SQL Server DATETIMEOFFSET columns
      *  Enable timezone tests for all DBs; failing ones disabled for now
      
      Test improvements: 
      
      *  with-temporary-setting-values macro will now throw an Exception if passed an incorrect number of args in binding form
      *  Rework Oracle test extensions to use Oracle's wacky INSERT ALL syntax to load all rows for a test dataset at once. Oracle tests 10x faster 
      *  Rework timezone tests to be more idiomatic and readable
      *  Test fixes to make sure various drivers can properly load test data with timezone-aware columns
      *  A few fixes for test utility functions, including making sure the dataset macro works properly when used at the top-level of a test with multiple drivers
      *  Fix the random Vertica test failures by adding retry logic when loading data fails
      *  Other code cleanup
      Unverified
      18da2fe5
  18. Oct 09, 2019
  19. Oct 07, 2019
  20. Oct 04, 2019
  21. Oct 02, 2019
  22. Sep 30, 2019
  23. Sep 27, 2019
    • Cam Saul's avatar
      Optimize datetime filters! (#10980) · ceddd03e
      Cam Saul authored
      The biggest performance improvement in history of Metabase since we switched to Clojure
      
      Before when filtering by a "bucketed" datetime field we would wrap the field and the value(s) it was being compared against in casting/truncation functions. For example when compiling a query to find fields where month is September 2019, we previously generated SQL like this:
      
      ```sql
      SELECT count(*)
      FROM public.checkins
      WHERE date_trunc('month', CAST(public.checkins.date AS timestamp)) 
          = CAST(timestamp '2019-09-01T00:00:00Z' AS date)
      ```
      
      As mentioned in #4043, this is not good for performance! Metabase now generates logically equivalent SQL like
      
      ```sql
      SELECT count(*)
      FROM public.checkins 
      WHERE (
          public.checkins.date >= timestamp '2019-09-01T00:00:00Z' AND
          public.checkins.date < timestamp '2019-10-01T00:00:00Z'
      )
      ```
      
      Fixes #4043
      Fixes #11009 
      Fixes #11010
      Fixes #11011 
      Fixes #11012
      Fixes #11013
      
      :open_mouth: :race_car: 
      Unverified
      ceddd03e
  24. Sep 24, 2019
  25. Sep 20, 2019
  26. Sep 19, 2019
  27. Sep 18, 2019
  28. Sep 17, 2019
Loading