Bug description

Using Filter per value of Column of type BIGINT breaks UI when the value is long(16 digits)

How to reproduce the bug

  1. Create a SQL virtual dataset that returns 2 BigInt columns : 1 with less digits(e.g. 5) and 1 with more digits(e.g. 16) (It doesn't matter if you cast them explicitly in the SQL or not)
  2. Create a chart out of the dataset
  3. Create a Dashboard and use the chart Cause
  4. Add filter using the dataset of type Value and use the column with the long ID and Save
  5. When ready click on the filter and move your cursor

The filter then breaks with React error: https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=object%20with%20keys%20%7Bs%2C%20e%2C%20c%7D&args[]=

Problem

Screenshots/recordings

Problem Cause

Superset version

3.1.1

Python version

3.9

Node version

16

Browser

Chrome

Additional context

No response

Checklist

  • [X] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [X] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: rusackas

This is still happening on the latest master and in 4.1.

For anyone else looking to repro, you can create a dataset like so

SELECT
    CAST(12345 AS BIGINT) AS short_value,
    CAST(1234567890125123456 AS BIGINT) AS long_value;

Comment From: rusackas

This is still happening today. I feel like @justinpark did something around bigint support not so long ago... not sure if this will affect his team.