This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Dec 12, 2022
-
-
Cal Herries authored
* Add quarter for postgres * Add quarter to schema * Add quarter tests * Add quarter for mysql * Add quarter for bigquery * Add quarter for snowflake * Add quarter for redshift * Add quarter for vertica * Add quarter for sqlserver * Add quarter to docs * Fix snowflake implementation * Make time zone dataset smaller * Revert "Make time zone dataset smaller" This reverts commit 4c97048d6c01e0f83b259a00c39d34169036fe77. * Revert "Revert "Make time zone dataset smaller"" This reverts commit d1b8fc49c8bf86fecd9897a7c4f496dbdb1b9b06. * Fix test for drivers not supporting set-timezone
-
- Dec 01, 2022
-
-
Cal Herries authored
* Implement now for sql drivers * Remove unused import * Add tests * Add more tests * Implement bigquery, mysql, postgres * Test now as argument * Fix FE type inferencer * Change feature flag to date-arithmetics * Implement h2 driver * Fix tests for sqlite * Add snowflake implementation * Remove type test * Fix test for sqlite * Update how we handle autocomplete and format for zero-arity functions in ExpressionEditor (#26563) * Update suggestionText function * Suggest with closing parens if zero-arity * Format zero-arity functions with () * Refactor formatFunction * Remove unused imports * Add presto implementation * Add sqlserver implementation * Test in multiple timezones * Remove setting test driver * Add sparksql implementation * Fix count() fe unit test * Add fe MBQL unit test for now() * Fix sparksql implementation * Add vertica implementation * Add oracle implementation * Add vertica implementation * Remove accidental form * Fix vertica implementation for report timezones * Remove unused multimethod * Remove unused feature * Update sparksql * Fix fe unit tests * Fix fe unit tests * Update hive implementation * Revert "Fix fe unit tests" This reverts commit fde4dd0d. * Revert "Fix fe unit tests" This reverts commit 7b7429ea. * Revert "Fix count() fe unit test" This reverts commit c5c6f6f9. * Revert "Refactor formatFunction" This reverts commit ac50e73e. * Revert "Update how we handle autocomplete and format for zero-arity functions in ExpressionEditor (#26563)" This reverts commit cf39634e. * Update hive * snowflake: convert type to timestamptz * sqlserver: rename date-trunc to zeroed-date-part * Wrap with database type info * Change fe unit test back to now without parens * Change MBQL clauses config for now to return type "datetime" * Fix presto * Add some fe unit tests for parsing and resolving * Update helper-text-strings * Change from second to millisecond precision * Remove test for second precision * presto: Change from second to millisecond precision * vertica: Change from second to millisecond precision * vertica: Change from second to millisecond precision * Change feature flag from date-arithmetics to now * Change feature flag from date-arithmetics to now, mbql schema * Allow now to be used in filter clauses * Add test for filter * Implement driver/database-supports? for each driver that implements :now * Tidy tests * Add back default sql implementation * Add sqlite feature flag * Add mongo implementation * Fix mongo * Format rows * Change vertica to return timestamp with time zone * Fix presto tests * Remove unused require * Update h2 function to return timestamp with time zone * mongo: calculate now during query execution, not processing, for versions >=4.2 (#26822) * replace with $$NOW * Remove unused import * Add back previous now implementation for versions <4.2 * Throw an error if version is <4.2 * Add i18n * Ignore patch version * Clean up `SchedulePicker` component (#26839) * Move `SchedulePicker` to its own directory * Sort imports * Do basic clean up * Extract `DEFAULT_DAY` to a constant * Extract styled components * Convert `SchedulePicker` to TypeScript * Add `SchedulePicker` container * Export `SchedulePicker` options * Add basic `SchedulePicker` story * Fix `SchedulePicker` crashes Storybook * Tweak Storybook file * Build datetime filters as datetime before question is saved (#26679) * Revert "Update h2 function to return timestamp with time zone" This reverts commit f7cce3ea7ccbbfc886d0942d66b1f8f60feb6aba. Co-authored-by:
Gustavo Saiani <gus@metabase.com> Co-authored-by:
Anton Kulyk <kuliks.anton@gmail.com>
-
- Nov 22, 2022
-
-
Ngoc Khuat authored
-
Cal Herries authored
-
- Nov 16, 2022
-
-
dpsutton authored
* Initial support for pg for `date-diff` * Make the useful-dates closer to one day * Add simple FE stuff * shorter test bodies * Ensure we can use datediff functions in arithmetic expressions * Correctly disable datediff for redshift * simplify var names * Support week * cleanup test * :datediff -> :datetimediff * ngoc's suggestions * Better acceptance test for datetimediff * sort ns * embrace the different cases for results * bigquery day month year * Reverse args * Update test * Centralize tests * Change postgres day, month, year behaviour * Refactor keep identity * Tidy tests * Tidy * Fix bigquery week * Add week tests * Fix bigquery week * Change mysql day, month, year behaviour * Add test for hour, minute, second * Fix postgres hour minute second * Formatting * Fix bigquery hour, minute, second * Formatting * Fix postgres timestamptz * WIP * Allow literals in datediff clauses * Uncomment tests * Fix bigquery when reporting timezone is not UTC * Linting * Moving away from dataset based tests * Add timezone tests for week and tidy * Remove unused import * Consolidate tests * Remove with-time-column dataset * Remove more-useful-dates defdataset * Remove redshift driver WIP * Typo * Move DatetimeLiteral clause into DateTimeExpressionArg * Try changing test order * Remove mt/with-report-timezone-id nil * Add year report timezone tests * Rename * Rename * Remove unused tables from useful-dates * Remove useful-dates * Update helper-text-strings * Tidy * Swap order of mt/with-report-timezone-id * Change with-report-timezone-id; notify databases after running test * Use temp setting for report-timezone instead * Update helper-test-strings * Handle literals in `datetimediff-base-base` * Update src/metabase/driver/postgres.clj Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com> * Simplify postgres second * Tidy: prefer hx arithmetic functions * Drop coercion for string timestamp args for now * Extract helper * Revert "Change with-report-timezone-id; notify databases after running test" This reverts commit 7abb543bed13d9d13295d0e00ad1293a40e40d53. * Use ->timestamptz * Use hx/->timestamp * Rename dataset * Undo changes to datetime-arithmetics? as these will not match by default * Use proper format for offset datetime literals * Shorten datetime literals in tests * Removing notify-all-databases-updated from report-timezone setting * Fix datetime-arithmetics test * Revert "Fix datetime-arithmetics test" This reverts commit 9141582508170bdbe99c4aa74bc4444e41475be6. * Revert "Undo changes to datetime-arithmetics? as these will not match by default" This reverts commit 9cb05f5475b24a78cb89601c918f3440606cc525. * Add UTC timezone to tests * Coerce strings to datetimes for ISO formats * Revert "Removing notify-all-databases-updated from report-timezone setting" This reverts commit 37356435a2e3981deca9ae76118d857babb2aada. * Add comment to postgres driver implementation * Formatting * Disable datediff from redshift for the moment (for ever?) * Override redshift driver/database-supports? * Fix comments mixed up by refactoring * Fix comments mixed up by refactoring 2 * Tidy comment * Rename datetimediff to datetime-diff/datetimeDiff * date-add -> datetime-add * Linting * add datetime-subtract to `datetime-arithmetics?` rework tests a bit as well. * Update docstring * Use ->temporal-type and trunc to handle report-timezone for bigquery * Log errors caught during sync steps (#26306) * log errors caught during sync steps * remove accidental extra parens * Errors combining datetime interval addition with datetime functions (#26279) * Add failing tests * Fix failing tests * Update shared/src/metabase/mbql/util.cljc Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com> * datetime-add and datetime subtract should annotate type by col type * Fix infer-expression-type for datetime-add/subtract with second, minute, hour * Undo last commit; they actually always return :type/DateTime * Fix test based on last commit * Undo unrelated refactor * Only test drivers that support expressions * Only test drivers that support expressions, again * Update tests from legacy mbql * Change infered-col-type to be a function again, not macro * Fix test Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com> * whitespace * Remove comments * Add explanation for datetime_diff * Refactor: replace cast and add `mt/with-driver :bigquery-cloud-sdk` where report-timezone is relevant * Add failing tests * Fix failing tests * Technically it should be bigquery-type * Update modules/drivers/bigquery-cloud-sdk/src/metabase/driver/bigquery_cloud_sdk.clj Co-authored-by:
Cam Saul <1455846+camsaul@users.noreply.github.com> * Move documentation to metabase.mbql.schema * Update DatetimeDiffUnits Co-authored-by:
Cam Saul <1455846+camsaul@users.noreply.github.com> * Add error type and optimize case expressions to driver implementations * refactor for brevity * Fix error with postgres * Fix error with postgres * Handle string literal parsing in wrap-value-literals * Remove ->timestamptz * Add comments + TODOs showing arithmetic expressions should return numeric values * Add explanation of arithmetic expression as docstring * Add test for normalize-mbql-clause-tokens * Remove unused import * Remove unused form * Switch tests to use attempted-murders dataset * Undo optimization that broke tests * Validate non-temporal types for bigquery * Add error handling for incorrect types * Fix mysql type checking * Fix mysql type checking * invalid-parameter -> invalid-query * Use date-trunc and extract * Remove unit error handling * DatetimeLiteral -> DateOrDatetimeLiteral * Remove unused binding * Fix mysql type checking Co-authored-by:
Callum Herries <hi@callumherries.com> Co-authored-by:
Cal Herries <39073188+calherries@users.noreply.github.com> Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com> Co-authored-by:
Noah Moss <32746338+noahmoss@users.noreply.github.com> Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com> Co-authored-by:
Cam Saul <1455846+camsaul@users.noreply.github.com>
-
Cal Herries authored
* Create TemporalLiteral, DateOrDatetimeLiteral, TimeLiteral * Remove unused TemporalLiteralString schema * Add tests * Fix test for cljs * Only test clj
-
- Nov 10, 2022
-
-
Cal Herries authored
* Add failing tests * Fix failing tests * Update shared/src/metabase/mbql/util.cljc Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com> * datetime-add and datetime subtract should annotate type by col type * Fix infer-expression-type for datetime-add/subtract with second, minute, hour * Undo last commit; they actually always return :type/DateTime * Fix test based on last commit * Undo unrelated refactor * Only test drivers that support expressions * Only test drivers that support expressions, again * Update tests from legacy mbql * Change infered-col-type to be a function again, not macro * Fix test Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com>
-
- Oct 28, 2022
-
-
Ngoc Khuat authored
* rename dateAdd to datetimeAdd and dateSubtract to datetimeSubtrac
-
- Oct 27, 2022
-
-
Ngoc Khuat authored
-
- Sep 29, 2022
-
-
Ngoc Khuat authored
-
- Sep 28, 2022
-
-
Ngoc Khuat authored
* Implement advanced date/time/zone manipulation, part 1 Incorporate new functions into MBQL and add tests: - get-year - get-quarter - get-month - get-day - get-day-of-week - get-hour - get-minute - get-second * Fix BigQuery implementations to call extract Mark as not supported in legacy driver * Add date extraction fns for Postgres * Disable in MongoDB (for now at least) Disable in BigQuery (legacy driver) Add implementations for presto-jdbc * Misc cleanup from Jeff's PR * Update Jeff's implementation of bigquery-cloud-sqk * Reorganized tests * Mongo * Oracle * Sqlserver * Sqlite * Add casting supports for presto * Remove Jeff's implementation of presto-jdbc because its parent is sql-jdbc * Update presto-jdbc tests to use the same catalog for all datasets * Add date extraction functions to the expression editor (#25382) * make sure the semantic type of aggregated columns are integer * no recursive call in annotate for date-extract func * get-unit -> temporal-extract(column, unit) * desguar nested datetime extraction too
-
- Aug 26, 2022
-
-
Cal Herries authored
* Add disable-max-results? to query middleware options when refreshing cached card results * Add docstrings * Add test for `add-default-limit`
-
- Aug 23, 2022
-
-
Cam Saul authored
* [Toucan 2 prep] Don't invoke Toucan models as functions * Some fixes * Test fixes * Test fix * [Toucan 2 prep] Don't call `type` or `class` on Toucan models * Test fixes * More test fixes
* Replace perms protocol with multimethods; derive models from perms policy keywords * Test fixes * Appease Eastwood * Fix errors now that App has been merged in * Empty commit to trigger CI
-
- Aug 22, 2022
-
-
Cam Saul authored
* [Toucan 2 prep] Don't invoke Toucan models as functions * Some fixes * Test fixes * Test fix * [Toucan 2 prep] Don't call `type` or `class` on Toucan models * Test fixes * More test fixes
-
- Aug 12, 2022
-
-
Cam Saul authored
* Fix some small things * Add Kondo to deps.edn to be able to debug custom hooks from REPL * Fix macroexpansion hook for with-temp* without values * Test config (WIP) * More misc fixes * Disable :inline-def for tests * More misc fixes * Fix $ids and mbql-query kondo hooks. * Fix with-temporary-setting-values with namespaced symbols * More misc fixes * Fix the rest of the easy ones * Fix hook for mt/dataset * Horrible hack to work around https://github.com/clj-kondo/clj-kondo/issues/1773 . Custom linter for mbql-query macro * Fix places calling mbql-query with a keyword table name * Fix the last few errors in test/ * Fix errors in enterprise/test and shared/test * Fix driver test errors * Enable linters on CI * Enable unresolved-namespace linter for tests * Appease the namespace linter again * Test fixes
-
- Aug 09, 2022
-
-
Noah Moss authored
* initial stab at improving formatting for relative dates * get template tags working for cljs translations * get plurals working for cljs translations * cleanup * tests * revert attempt at translations test * add comment for trsn * fix reflection * address comments * fix cypress test
-
- Aug 05, 2022
-
-
Noah Moss authored
* Bump shadow-cljs This lets us use the template tag functionality ``` add experimental support for creating js template strings used like str but emits native JS `` template (js-template "foo" (+ 1 2) "bar") emits the literal `foo${(1 + 2)}bar` ``` But this required a few changes on our side as well. Required for this: -- LOGGING Bumped glogi ```diff ;; new stuff - [lambdaisland/glogi "1.0.106"]] - + [com.lambdaisland/glogi "1.1.144"]] ``` Annoying because it had a group name change due to Clojars policy. This had the same error as us below. That's why I'm hopeful that it will actually just work. There were some changes with the Google Closure library with things not included or referenceable. So I just removed these imports and the typehints that used them. We'll need to verify that this still works but both compiling for dev and release (with advanced compilation) work. Still possible there will be some runtime errors but i'm hopeful there wont be. We can grab a jar from CI and poke around ```shell ❯ npx shadow-cljs compile app shadow-cljs - config: /Users/dan/projects/work/metabase/shadow-cljs.edn shadow-cljs - connected to server [:app] Compiling ... [:app] Build completed. (100 files, 0 compiled, 0 warnings, 1.65s) metabase on nm-all-options-formatting [$!+?] via
v17.30 on metabase-query took 2s ❯ npx shadow-cljs release app shadow-cljs - config: /Users/dan/projects/work/metabase/shadow-cljs.edn shadow-cljs - connected to server [:app] Compiling ... [:app] Build completed. (100 files, 30 compiled, 0 warnings, 28.04s) ``` ```diff [lambdaisland.glogi.console :as glogi-console]) - (:require-macros metabase.shared.util.log) - (:import goog.debug.Logger - goog.debug.Logger.Level)) + (:require-macros metabase.shared.util.log)) ``` ```diff @@ -37,4 +35,4 @@ (defn is-loggable? "Part of the impl for [[metabase.shared.util.log/js-logp]] and [[metabase.shared.util.log/js-logf]]." [logger-name level] - (.isLoggable ^Logger (log/logger logger-name) ^Level (log/levels level))) + (.isLoggable (log/logger logger-name) (log/levels level))) ``` -- WARNINGS ABOUT shadowing `abs` - [medley "1.3.0"] + [medley "1.4.0"] Similar to what we bumped for the backend. ClojureScript 1.11.x has an `abs` function. * use update-keys and update-vals in cljs * bump clj-kondo in CI Co-authored-by:dan sutton <dan@dpsutton.com>
-
- Aug 03, 2022
-
-
Noah Moss authored
* change implementation of `split-on-tags` to avoid using lookaround * fix regex
-
- Aug 02, 2022
-
-
Noah Moss authored
-
- Jul 27, 2022
-
-
Ngoc Khuat authored
* revert #23658 * keep the migration to add native_query_snippet.template_tag, add a new migration to drop it * Remove snippet parameter support in fully parametrized check Co-authored-by:
Tamás Benkő <tamas@metabase.com>
-
- Jul 20, 2022
-
-
Noah Moss authored
* basic logic for including params in dashboard subscriptions * BE date formatting * redo approach to date formatting locale * refactor and use the same formatting code for parameters listed in subscription header * fix tests and lint * fix more tests * fix final (?) test and fix namespace lint error * a couple extra test cases * fix tests * new cypress test * address braden and ngoc's comments * fix tests * guard against nil text in substitute_tags
-
- Jul 13, 2022
-
-
Ngoc Khuat authored
-
- Jul 12, 2022
-
-
Noah Moss authored
* first pass at parameters in text cards on FE * trying to get translations working * relative datetime formatting * copy changes and 'Text card' header * default text when no params * hide header for text cards with height of 1 with params when in param mapping mode * show UI text in mobile mode * minor fixes * enforce that a text card variable can only be mapped to one parameter * more value formatting * noop * fix backend tests * add back a couple pieces of frontend logic commented out * misc cleanup * attempt at adding a FE unit test * revert unit test, doesn't work * add a couple of basic cypress tests and fix a couple of bugs * basic unit tests for cljc * fix error * expanded unit tests * simplify ns * add cypress test for instance language translation * basic handling for a couple cases of :date/all-options * trs docstring clarification * whitespace tweaks * fix cypress test * minor refactor of tag-names * move cljc file from utils to new parameters dir * reorder functions * fix lint * add test assertion that locale is correctly reset back to english, and add a comment * fix bug where existing parameter mapping target was not being found * clojure logic tweaks * move text card header text to the Text component config * simplify header logic, and pull out isLoading into a function to reduce complexity * address alex's css feedback * fix trs comment
-
- Jun 29, 2022
-
-
Cal Herries authored
* Fix normalize-token for mbql value clauses * Fix formatting * Add bug link to changes
-
- Jun 20, 2022
-
-
metamben authored
Fix compilation of temporal arithmetic for BigQuery and Mongo 5+ * Mongo 4 doesn't support $dateAdd so the generated filters result in an exception. * Support adding field to interval too (time intervals were not allowed in the first place of an addition) * Support temporal arithmetic with more than two operands for Mongo
-
- Jun 10, 2022
-
-
Cam Saul authored
* Execute custom actions endpoint [WIP] [ci skip] * Wow! It's all working. * Test fixes
* Code cleanup * More test fixes. * 2 final test fixes * Remove unused namespace
-
- Jun 06, 2022
-
-
Noah Moss authored
-
- May 12, 2022
-
-
Noah Moss authored
-
- May 02, 2022
-
-
Braden Shepherdson authored
Background: We had two lint configs: lint-config.edn which was enfored by Github Actions, and .clj-kondo/config.edn, the default location used by editors. Problem: Patchy enforcement of the (larger) config in .clj-kondo/config.edn since not everyone uses an editor. Some new lint, like canonical namespace aliases (#21738, #19930) is not enforced automatically and has begun to bit-rot. Solution: Combine both configs, fix any outstanding lint, and update our tooling to use the unified config. Caveats: Anyone who has their local editor configured to use lint-config.edn will have their linting broken by this change.
-
- Apr 28, 2022
-
-
Cam Saul authored
* mbql.u/add-temporal-unit should ignore invalid units rather than erroring * Test fixes
-
- Apr 19, 2022
-
-
Braden Shepherdson authored
* Make namespace aliasing consistent everywhere; enforce with clj-kondo See the table of aliases in .clj-kondo/config.edn Notable patterns: - `[metabase.api.foo :as api.foo]` - `[metabase.models.foo :as foo]` - `[metabase.query-processor.foo :as qp.foo]` - `[metabase.server.middleware.foo :as mw.foo]` - `[metabase.util.foo :as u.foo]` - `[clj-http.client :as http]` and `[metabase.http-client :as client]` Fixes #19930.
-
Case Nelson authored
-
- Apr 18, 2022
-
-
Alexander Kiselev authored
* adding boolean to custom expr * added booleans to schema validattion * changed some mbql to use apply instead of a vector * update sample-dataset.edn * undo honeysql mess * fix sample-dataset.edn * fix unit tests * remove console.log * added `canceled` column to orders table in the sample database * minor fixes * bool custom column fixes * comment out join schema * rolback custom column changes * add error on custom column boolean expressions * unit tests * fix clj unit tests * e2e fix * unit test fixes * e2e fixes * added True/False to suggestions and fixed column formatting * fix e2e test * remove bool column from sample-dataset.edn because Oracle doesnt support bool column type (WTF?) * fix sample dataset tests * fix sample dataset tests * couple more fixes * fix sample-dataset.edn again * e2e fixes * fix some unit and e2e tests * unit test fix * e2e fixes * rollback sample database changes * more rollback * fix issues and add e2e tests * remove withAst from boolean pass * fixed issue with AST node
-
- Apr 13, 2022
- Apr 06, 2022
-
-
Ryan Laurie authored
* add correct currency symbol to filter inputs * show currency symbol in between inputs * lift currency prefix logic up component tree * remove unused function * fix existing tests * test currency prefixes * fix test nesting * get currency symbols for columns from our currency map * use visualization settings for currency inputs * use keyForColumn() to get visualization settings
-
- Mar 23, 2022
-
-
Cam Saul authored
* Remove references to qp/query->preprocessed * Fix Oracle
-
- Mar 16, 2022
-
-
Cam Saul authored
* Fix `[:relative-datetime :current]` inside `:between` filter clause * Update shared/test/metabase/mbql/util_test.cljc * Update shared/test/metabase/mbql/util_test.cljc
-
- Mar 10, 2022
-
-
Ariya Hidayat authored
-
- Feb 28, 2022
-
-
Cam Saul authored
* Handle legacy Field filter parameters that did not specify `:widget-type` * Fix indentation * Test fix
-