deephaven / deephaven-core

Deephaven Community Core
Other
256 stars 80 forks source link

Unable to filter by eq(`\\`) in jsapi #3912

Open dsmmcken opened 1 year ago

dsmmcken commented 1 year ago

Description

I have a table that looks like this, with a table that outputs a row with just a \ in it.

from deephaven import new_table
from deephaven.column import string_col
testslash = new_table([
    string_col("test", ["\\", None, "null", "empty", "\\null"])
])

This jsapi filter does not match: column.filter().eq(dh.FilterValue.ofString('\\'))

This filter does match: column.filter().eqIgnoreCase(dh.FilterValue.ofString('\\'))

Expected results

eq should match

Actual results

eq does not match, but eqIgnoreCase does?

Additional details and attachments

You can reproduce from the UI instead of writing a raw jsapi calls if you want by right clicking the row, and select filter by value -> "text is equal", it will do the .eq (pay no attention to the =\ outputted in the quick filter box that part is wrong, but underneath it is doing \\)

Versions Engine Version: 0.25.0 Web UI Version: 0.40.3 Java Version: 17.0.7 Barrage Version: 0.5.0

niloc132 commented 1 year ago

There are at least two bugs here: