Normalize virtual card table fields using its `table_id` and `id` (#25267)
* Update FieldSchema to store virtual card table fields using both table_id and field id * Update the metadata selector to look use field's uniqueId property * Add tableId arg to Metadata.prototype.field method * Normalize fields in sample_database_fixture * Fix incorrect e2e test * Make the second arg of field optional * Pull out small fn * Refactoring + clean up + mocks & tests * Update metadata.field(...) usage in a few places * Revert FieldDimension change * Move complex FieldDimension `field` logic to the instantiation of "virtual" fields by the associated query's `table` method (#25109) * Add merge method to Field * add new virtual table utils + tests * Use new utils in implementation of Structured/NativeQuery table methods + remove unneeded Dimension logic * let all Questions return dependentMetadata * Fix types related to query.table() potentially returning null * Fix updateQuestion tests * Remove unused Dimension imports * Fix issue resolving rootTable on queries based on virtual tables * Fallback to the nested card table stored in the Metadata instance * Make the nested card Table the main driver in returning fields for nested cards + other misc fixes * more tweaks related to cloned Tables, source queries * Don't clobber metadata if something is already there (like a method named 'metadata') * Fix for nested native query * Don't use real table for source query * Update table code to use the actual nested card table fields instead of doing merge logic * Skip an e2e test * Workaround for getting Dimensions from joins * Update arg name * Try removing the Table fetch from Question's dependentMetadata method * Don't rerun query when converting question to model * Fix for source query not showing 'previous results' * Fix unit tests * Update models e2e tests not to wait on query * Unskip repro for #23449 * make sure a join's joinedQuery is not a dataset/model * use createQuestion in e2e test * don't use Question redux dispatch method for updating * split test cases * Add comment
Showing
- frontend/src/metabase-lib/lib/Dimension.ts 35 additions, 125 deletionsfrontend/src/metabase-lib/lib/Dimension.ts
- frontend/src/metabase-lib/lib/Question.ts 13 additions, 5 deletionsfrontend/src/metabase-lib/lib/Question.ts
- frontend/src/metabase-lib/lib/metadata/Base.ts 1 addition, 1 deletionfrontend/src/metabase-lib/lib/metadata/Base.ts
- frontend/src/metabase-lib/lib/metadata/Field.ts 32 additions, 0 deletionsfrontend/src/metabase-lib/lib/metadata/Field.ts
- frontend/src/metabase-lib/lib/metadata/Field.unit.spec.ts 89 additions, 0 deletionsfrontend/src/metabase-lib/lib/metadata/Field.unit.spec.ts
- frontend/src/metabase-lib/lib/metadata/Metadata.ts 12 additions, 6 deletionsfrontend/src/metabase-lib/lib/metadata/Metadata.ts
- frontend/src/metabase-lib/lib/metadata/Metadata.unit.spec.ts 71 additions, 3 deletionsfrontend/src/metabase-lib/lib/metadata/Metadata.unit.spec.ts
- frontend/src/metabase-lib/lib/metadata/Table.ts 7 additions, 0 deletionsfrontend/src/metabase-lib/lib/metadata/Table.ts
- frontend/src/metabase-lib/lib/metadata/Table.unit.spec.ts 1 addition, 0 deletionsfrontend/src/metabase-lib/lib/metadata/Table.unit.spec.ts
- frontend/src/metabase-lib/lib/metadata/mocks.ts 18 additions, 0 deletionsfrontend/src/metabase-lib/lib/metadata/mocks.ts
- frontend/src/metabase-lib/lib/metadata/utils.ts 11 additions, 0 deletionsfrontend/src/metabase-lib/lib/metadata/utils.ts
- frontend/src/metabase-lib/lib/metadata/utils.unit.spec.ts 19 additions, 0 deletionsfrontend/src/metabase-lib/lib/metadata/utils.unit.spec.ts
- frontend/src/metabase-lib/lib/queries/NativeQuery.ts 4 additions, 13 deletionsfrontend/src/metabase-lib/lib/queries/NativeQuery.ts
- frontend/src/metabase-lib/lib/queries/StructuredQuery.ts 22 additions, 36 deletionsfrontend/src/metabase-lib/lib/queries/StructuredQuery.ts
- frontend/src/metabase-lib/lib/queries/structured/Join.ts 2 additions, 2 deletionsfrontend/src/metabase-lib/lib/queries/structured/Join.ts
- frontend/src/metabase-lib/lib/queries/utils/native-query-table.ts 28 additions, 0 deletions.../src/metabase-lib/lib/queries/utils/native-query-table.ts
- frontend/src/metabase-lib/lib/queries/utils/native-query-table.unit.spec.ts 100 additions, 0 deletions...ase-lib/lib/queries/utils/native-query-table.unit.spec.ts
- frontend/src/metabase-lib/lib/queries/utils/nested-card-query-table.ts 70 additions, 0 deletions...metabase-lib/lib/queries/utils/nested-card-query-table.ts
- frontend/src/metabase-lib/lib/queries/utils/structured-query-table.ts 76 additions, 0 deletions.../metabase-lib/lib/queries/utils/structured-query-table.ts
- frontend/src/metabase-lib/lib/queries/utils/structured-query-table.unit.spec.ts 219 additions, 0 deletions...lib/lib/queries/utils/structured-query-table.unit.spec.ts
Loading
Please register or sign in to comment