Skip to content

DH-17242: PartitionedTable display widget does not render properly when there are non-key, non-constituent columns #2066

@rcaudy

Description

@rcaudy

Description

When a PartitionedTable is created that has extra columns (not just key columns and the constituent columns), the display widget fails to render the partition filter widget or any table data. A box at the bottom of the component informs the user that it is "Reloading partition".

Steps to reproduce

You can reproduce with this script in a Groovy console:

tt = timeTable("PT00:00:01") // Make a TimeTable
it = tt.update("A=ii%2==0", "B=k%10") // Add some columns
pt = it.partitionBy("A", "B") // Partition by those columns
ptt = pt.table() // Grab the underlying table
pttu = ptt.update("C=A ? B : -B") // Derive a new column
pt2 = io.deephaven.engine.table.PartitionedTableFactory.of(pttu, List.of("A","B"), true, "__CONSTITUENT__", pt.constituentDefinition(), false) // Make a new PartitionedTable with the same key columns

Another way to reproduce is with a partitionedAggBy:

pt = it.partitionedAggBy([AggLast("Last=Timestamp")], false, null, "A", "B")

In both cases an extra column in the underlying table seems to be confusing the UI. This is an important, permitted use case for PartitionedTables.

Expected results

I expect a partition filtering widget to show as normal. Ideally, though, we'd have some better way to display this, since showing the extra columns of the partitioned table would be valuable. I'm not certain that PartitionedTable and PartitionAwareSourceTable should be displayed in the same way.

Additional details and attachments

DH-17242

Versions

  • Engine Version: latest
  • Web UI Version: ...
  • Java Version: ...
  • Barrage Version: ...
  • OS: ...
  • Browser: ...
  • Docker: ...

Metadata

Metadata

Assignees

Labels

blockerbugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions