This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Jun 09, 2021
-
-
Noah Moss authored
-
Cam Saul authored
Merge x.39.3 -> master
-
Nemanja Glumac authored
-
Alexander Lesnenko authored
-
Jeff Evans authored
-
Noah Moss authored
-
Anton Kulyk authored
-
Anton Kulyk authored
* Fix question archiving test * Fix archiving a question * Add repro note for #16512
-
Anton Kulyk authored
* Add repro for #16496 (bulk archive broken) * Add E2E test for bulk move * Fix bulk archive * Remove reduntant checks * Use `cy.button()` Co-authored-by:
Nemanja <31325167+nemanjaglumac@users.noreply.github.com>
-
Anton Kulyk authored
* Add repro for #16497 (pinned items bulk selection) * Fix pinned items bulk selection * Remove redundant check * Refactor existing "bulk actions" tests * Extract test that is not related to bulk actions * Add `pinAllRootItems()` helper function * Unify "bulk selection" tests Co-authored-by:
Nemanja <31325167+nemanjaglumac@users.noreply.github.com>
-
- Jun 08, 2021
-
-
Cam Saul authored
* Add helpers to define Settings with multiple impls * Add docstrings * Fix missing :require * Add namespace docstring per @dpsutton suggestion
-
Howon Lee authored
Friendly names bugfix 1 was a noop because of a typo in the WHERE clause of the DB migration. This one has been manually tested to go and sync on all 4 supported MB db's.
-
Cam Saul authored
-
Noah Moss authored
* changes to sync-group-memberships! and unit tests * update jwt and saml code * fix admin sync tests * fix misplaced docstrings * address review comment
-
dpsutton authored
Repro: db setup: ```sql create table wut2 (t bytea, ts text); insert into wut2 (t, ts) values ('20210421164300'::bytea, '20210421164300'); ``` Mark t as :Coercion/YYYYMMDDHHMMSSBytes->Temporal, ts as :Coercion/YYYYMMDDHHMMSSString->Temporal Do a simple query, and then aggregate count by the two dates. ts should succeed and t fails. We are passing in the UTF8 as a parameter rather than just emitting a literal. Before: ```clojure {:sql "-- Metabase\nSELECT CAST(to_timestamp(convert_from(\"public\".\"wut\".\"t\", ?), 'YYYYMMDDHH24MISS') AS date) AS \"t\", count(*) AS \"count\" FROM \"public\".\"wut\" GROUP BY CAST(to_timestamp(convert_from(\"public\".\"wut\".\"t\", ?), 'YYYYMMDDHH24MISS') AS date) ORDER BY CAST(to_timestamp(convert_from(\"public\".\"wut\".\"t\", ?), 'YYYYMMDDHH24MISS') AS date) ASC", :params ("UTF8" "UTF8" "UTF8"), :type :invalid-query} ``` After: ```sql SELECT CAST(to_timestamp(convert_from(\"public\".\"wut\".\"t\", 'UTF8'), 'YYYYMMDDHH24MISS') AS date) AS \"t\", count(*) AS \"count\" FROM \"public\".\"wut\" GROUP BY CAST(to_timestamp(convert_from(\"public\".\"wut\".\"t\", 'UTF8'), 'YYYYMMDDHH24MISS') AS date) ORDER BY CAST(to_timestamp(convert_from(\"public\".\"wut\".\"t\", 'UTF8'), 'YYYYMMDDHH24MISS') AS date) ASC ``` Note there's a lot of extra casting that perhaps we can clean up
-
Gustavo Saiani authored
-
Howon Lee authored
Previously just used JDBC. However, JDBC will merrily execute queries on empty file locations for SQLite, because it'll create a new SQLite file. This one checks that there exists a SQLite file already to be querying in the first place
-
Howon Lee authored
Folks wanted DB pagination in #11806 and apparently others but it didn't make it to notion. Well, it made it to my attention, anyhow, and here is some DB pagination, but just for the backend.
-
Nemanja authored
-
Nemanja authored
-
- Jun 07, 2021
-
-
Noah Moss authored
* adjustments to CSP header in dev environment to make react dev tools work on Firefox * add test for script-src directive * fix position of doc string * fix error in common_test
-
Howon Lee authored
There was no DB migration for previous friendly field name defriendlification. This adds DB migration.
-
Nemanja Glumac authored
-
Reza Lotun authored
Signify this is for internal use for the Metabase team, and remove ETA from the template (since that's tracked outside of GitHub).
-
Alexander Lesnenko authored
-
- Jun 04, 2021
-
-
Jeff Bruemmer authored
-
Nemanja Glumac authored
#16350 Repro: "Invite someone" button overlaps activate/deactivate radio buttons on small screen widths (#16355)
-
- Jun 03, 2021
-
-
Noah Moss authored
-
Howon Lee authored
Peeps want to make questions faster, but we don't give the data about query execution in a very user-friendly way. Here's it in a user-friendly way. Co-authored-by:
Alexander Lesnenko <alxnddr@users.noreply.github.com>
-
dpsutton authored
* Add the last-edit-info to the child query just for cards right now, need to extend to dashboards and then make sure we clean it up into the proper map. Have a set of all columns that are required and ensure those are in each query. Nulls need to be cast to the correct type if they aren't a text column (at least on postgres, need to investigate h2 and mysql). * Correct find last-edit-info for cards and dashboards * Move from group-by max id to self join * Paginate and search on collection items - include the metadata information in the query - to accomplish this, make a backstop to add all columns into each query - need types to union the null. in postgres it assumes all nulls are text. Haven't checked what mysql and h2 do here yet - sort_column: name, last_edited, model - sort_direction: asc, desc * Add default sort column and direction * handle mysql mysql doesn't need types on nulls to unify them * Correct batch post processing for cards and dashboards * Correct order of expectations they were alphabetical inside of models previous order: - acme products | pulse - electro-magnetic pulse | pulse - birthday card | card - dine & Dashboard | dashboard and is now ordered solely by name * Tests and sort on lower name after timestamp When sorting by last edited, lots of things don't have this, so don't want arbitrary sorting, but sort by name afterwards * Ensure nulls go to the end of the list * Tests * trying to make h2, mysql, and pg happy sorting timestamps and always having nulls last is quite difficult * Make diff bigger this was going in as a string and losing the timezone information, so was actually advancing time. Now: (java.time.OffsetDateTime/now) "2021-06-01T13:59:33.165483Z" Minus 2 hours: (.minusHours (java.time.OffsetDateTime/now) 2) "2021-06-01T11:59:27.528500Z" As seen in the code: ;; unaltered "now" "2021-06-01T08:55:28" ;; altered "two hours ago" "2021-06-01T11:55:29" <- UTC shenanigans. so just bump back 24 hours * Sort by model ranking * Remove clj-time and use ZonedDateTime instead of OffsetDateTime
-
Anton Kulyk authored
-
Ariya Hidayat authored
-
- Jun 02, 2021
-
-
Ariya Hidayat authored
...since the back-end is already capable of handling those. * Handle PK/FK of the type STRING or STRING_LIKE
-
Gustavo Saiani authored
-
Luis Paolini authored
* Warn users about sandboxing and public sharing * Update docs/enterprise-guide/data-sandboxes.md Co-authored-by:
Jeff Bruemmer <jeff@metabase.com> Co-authored-by:
Jeff Bruemmer <jeff@metabase.com>
-
dpsutton authored
* Add type on collection * Search with collection type * Cleanup bounded heap accumulator * Make search conditionally bump official collection items * collection api and tests * Put collection type onto hydrated cards on dashboards * Move official collection type scoring into ee codebase * ensure ee and oss agree when not official collection * Mark Collections tree with type * Remove unnecessary `and`s when no check for enhancements * Tests for setting collection tree type * Include hydration for collection type on dashboards * Make sure created test collections are cleaned up * Cleanup tests, don't search on collection_type looks for all text fields and searches the term against that. official would bring back all official types. no bueno * Docstring on protocol and don't shadow comparator * update to new ee impl var passing style * Collection model ensures no type change on personal collection * Check for personal collection when updating type model checks for personal collection and rejects in the update but doesn't check for children of personal collection. * Update checking for unchangeable properties of a personal collection * Cleanup: type collection tree, batched hydration, combine error checks * Cleanup * move bounded-heap accumulator to utils * switch to test.check testing * Bad test just to see what our CI will report * remove purposeful failing test (was for CI) * collection.type -> collection.authority_level * Test the actual ee scoring impl, not the wrapped one locally i had enhancements enabled so the tests were passing, but in CI it was failing as it did not have enhancements enabled
-
Gustavo Saiani authored
-
Anton Kulyk authored
-
Anton Kulyk authored
-
- Jun 01, 2021
-
-
Ariya Hidayat authored
-