Skip to content

Select Distinct throws error for tables with more than one column #1275

@mofojed

Description

@mofojed

Description

The Select Distinct functionality does not work correctly in web if the table has more than one column.

Steps to reproduce

  1. Create a table with more than one column, e.g.:
from deephaven import empty_table
t = empty_table(50).update(["x=i%5", "y=(i*i)%5"])
  1. In the Select Distinct Values option in the side bar, select a column

Expected results
2. Table should update to show the distinct values

Actual results
2. An error is shown in place of the table.

Additional details and attachments

The issue appears to be with the columns changing on the underlying model, but the grid metrics are still reporting there are more visible columns. The error that throws is at:

const column = model.columns[modelColumn];

But it's slightly problematic that the visible/modelColumns provided in the metrics are out of sync with the model.

image

caught TypeError: Cannot read properties of undefined (reading 'name')
    at IrisGrid.render (IrisGrid.tsx:4190:73)
    at finishClassComponent (react-dom.development.js:17485:31)
    at updateClassComponent (react-dom.development.js:17435:24)
    at beginWork (react-dom.development.js:19073:16)
    at HTMLUnknownElement.callCallback2 (react-dom.development.js:3945:14)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:3994:16)
    at invokeGuardedCallback (react-dom.development.js:4056:31)
    at beginWork$1 (react-dom.development.js:23964:7)
    at performUnitOfWork (react-dom.development.js:22776:12)
    at workLoopSync (react-dom.development.js:22707:5)
    at renderRootSync (react-dom.development.js:22670:7)
    at performSyncWorkOnRoot (react-dom.development.js:22293:18)
    at react-dom.development.js:11327:26
    at unstable_runWithPriority (scheduler.development.js:468:12)
    at runWithPriority$1 (react-dom.development.js:11276:10)
    at flushSyncCallbackQueueImpl (react-dom.development.js:11322:9)
    at flushSyncCallbackQueue (react-dom.development.js:11309:3)
    at batchedUpdates$1 (react-dom.development.js:22387:7)
    at Object.notify2 [as notify] (Subscription.js:15:7)
    at Object.notifyNestedSubs (Subscription.js:85:15)
    at handleChangeWrapper (Subscription.js:90:20)
    at Object.dispatch (redux.js:297:7)
    at e (<anonymous>:1:38904)
    at index.js:20:16
    at crashReporter.ts:8:12
    at logger.ts:8:18
    at dispatch (redux.js:691:28)
    at actions.ts:39:3
    at index.js:16:18
    at crashReporter.ts:8:12
    at Object.dispatch (logger.ts:8:18)
    at dispatch (<anonymous>:1:55424)
    at FilterPlugin.tsx:88:5
    at Object.<anonymous> (FilterPlugin.tsx:102:7)
    at EventHub.emit (EventEmitter.ts:68:20)
    at IrisGridPanel.sendColumnsChange (IrisGridPanel.tsx:823:16)
    at IrisGridPanel.handleColumnsChanged (IrisGridPanel.tsx:673:12)
    at invokeCallback (listener.ts:135:22)
    at IrisGridProxyModel.dispatchEvent (event-target.ts:260:17)
    at IrisGridProxyModel.setModel (IrisGridProxyModel.ts:126:10)
    at IrisGridProxyModel.ts:159:14
r

Versions

Engine Version: 0.25.0
Web UI Version: 0.38.0
Java Version: 11.0.18
Barrage Version: 0.5.0

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions