This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- May 31, 2022
-
-
Dalton authored
* Convert dashboard parameter utils to TypeScript * Remove unused imports
-
Dalton authored
-
dpsutton authored
Addresses part of https://github.com/metabase/metabase/issues/8679 Pivot tables can have subqueries that run to create tallies. We do not hold the entirety of resultsets in memory so we have a bit of an inversion of control flow: connections are opened, queries run, and result sets are transduced and then the connection closed. The error here was that subsequent queries for the pivot were run while the first connection is still held open. But the connection is no longer needed. But enough pivots running at the same time in a dashboard can create a deadlock where the subqueries need a new connection, but the main queries cannot be released until the subqueries have completed. Also, rf management is critical. It's completion arity must be called once and only once. We also have middleware that need to be composed (format, etc) and others that can only be composed once (limit). We have to save the original reducing function before composition (this is the one that can write to the download writer, etc) but compose it each time we use it with `(rff metadata)` so we have the format and other middleware. Keeping this distinction in mind will save you lots of time. (The limit query will ignore all subsequent rows if you just grab the output of `(rff metadata)` and not the rf returned from the `:rff` key on the context. But this takes the following connection management: ``` tap> "OPENING CONNECTION 0" tap> "already open: " tap> "OPENING CONNECTION 1" tap> "already open: 0" tap> "CLOSING CONNECTION 1" tap> "OPENING CONNECTION 2" tap> "already open: 0" tap> "CLOSING CONNECTION 2" tap> "OPENING CONNECTION 3" tap> "already open: 0" tap> "CLOSING CONNECTION 3" tap> "CLOSING CONNECTION 0" ``` and properly sequences it so that connection 0 is closed before opening connection 1. It hijacks the executef to just pass that function into the reducef part so we can reduce multiple times and therefore control the connections. Otherwise the reducef happens "inside" of the executef at which point the connection is closed. Care is taken to ensure that: - the init is only called once (subsequent queries have the init of the rf overridden to just return `init` (the acc passed in) rather than `(rf)` - the completion arity is only called once (use of `(completing rf)` and the reducing function in the subsequent queries is just `([acc] acc)` and does not call `(rf acc)`. Remember this is just on the lower reducing function and all of the takes, formats, etc _above_ it will have the completion arity called because we are using transduce. The completion arity is what takes the volatile rows and row counts and actually nests them in the `{:data {:rows []}` structure. Without calling that once (and ONLY once) you end up with no actual results. they are just in memory.
-
Benoit Vinay authored
* Types added to Alert * Alert package created * utils added to Alert * Clean up Question * alertType back in * Query import added back in * Types imports updated * Fix Dashboard types
-
Anton Kulyk authored
* Refactor TableSimple * Fix sorting * Move TableSimple to own directory * Move TableCell to own file * Migrate TableSimple to styled components * Migrate TableCell to styled components * Extract TableFooter component * Fix table cell selectors in cypress * Fix E2E tests
-
Natalie authored
-
Nemanja Glumac authored
-
Alexander Polyankin authored
-
- May 30, 2022
-
-
Nemanja Glumac authored
-
Anton Kulyk authored
-
Nemanja Glumac authored
-
Nemanja Glumac authored
-
Ngoc Khuat authored
remove param_values hydration keys
-
Alexander Polyankin authored
-
- May 28, 2022
-
-
Alexander Lesnenko authored
-
Nemanja Glumac authored
-
Nemanja Glumac authored
-
Nemanja Glumac authored
-
Nemanja Glumac authored
* Tag OSS-specific files * Run OSS-specific files using grep * Replace `describeOSS` with `isOSS` * Speed up grepping with `grepFilterSpecs`
-
- May 27, 2022
-
-
Ariya Hidayat authored
metabase.com/start/hosted is already permanently moved (HTTP 301) to metabase.com/start
-
Diogo Mendes authored
-
Ryan Laurie authored
-
Alexander Lesnenko authored
-
Ngoc Khuat authored
-
Howon Lee authored
Limit the length of the row for JSON parsing. This was the simplest way to make another attack at #22636.
-
- May 26, 2022
-
-
Nemanja Glumac authored
* Remove unnecessary intercept * Simplify repro for #22247 * Quarantine failing tests caused by #22973
-
Maz Ameli authored
* try wrapping scalar titles * wrap scalar card title * fix types * fix ellipsified detects truncated text * fix types * move component Co-authored-by:
Aleksandr Lesnenko <alxnddr@gmail.com>
-
Nemanja Glumac authored
-
Nick Fitzpatrick authored
App Bar Breadcrumbs for Questions
-
Noah Moss authored
-
Ryan Laurie authored
-
Alexander Polyankin authored
-
Anton Kulyk authored
-
- May 25, 2022
-
-
Dalton authored
* Add basic parameter types * Convert paramter-type utils to TypeScript * Update constant variable name
-
Nemanja Glumac authored
-
Natalie authored
-
Nemanja Glumac authored
-
Nemanja Glumac authored
Repro #22788: Filters connected to a custom column lose their settings when editing the dashboard a second time (#22953)
-
Ariya Hidayat authored
-
Nemanja Glumac authored
-