This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- 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
-
- Feb 23, 2022
-
-
Cam Saul authored
* Remove MetaBot Group * Fix missing :require * More fixes * Another fix
* change default sandboxed group_id * update group_ids Co-authored-by:Aleksandr Lesnenko <alxnddr@gmail.com>
-
- Feb 14, 2022
-
-
Cam Saul authored
* Add failing test for #15978 * Improved test * Add new metabase.driver.query-processor.escape-join-aliases QP middleware * Test fix
* Add reference to #20307 * Add some extra dox * Test fixes for BigQuery drivers * revert unneeded change * Fix :bigquery and :bigquery-cloud-sdk mixup * Test fixes * Test fix * Remove comment I meant to remove
-
- Feb 10, 2022
-
-
Michiel Borkent authored
* honeysql var improvements * Define routes * Define routes * define-routes improvement * honeysql helpers * honesql * abs in clojure 1.11 * fix logic unresolved vars * deprecated * deprecated var warnings * undo replace
-
- Feb 08, 2022
-
-
Cam Saul authored
Rework how the remappings middleware matches remapped to/from columns for explicit external (FK) remaps (#20009) * Fix #9236 [WIP] * Revert unneeded changes * Only merge namespaced :options into result info * Revert unneeded changes * Everything is working
* Revert unneeded change * Clean namespaces * Add `:test` profile to `namespace-checker` to suppress log messages. * PR feedback * Fix namespaces
-