Description
When using non-String partitioning columns (long in my example), the partition-selection drop-down incorrectly tries to filter as if the values are strings. It wraps them in quotes, causing MatchFilter parsing to reject the literal.
Steps to reproduce
Use a command like:
t=io.deephaven.parquet.table.ParquetTools.readTable(path)
to load a Parquet table that uses metadata files, a TableDefinition, or inferred partitioning column types from key=value directory name pairs. If any of the partitioning column types is not a String, you should see this error or similar.
Note that the automatic first-partition retrieval fails, as does selecting a partition to filter to. coalesce() or where() on the table to skip this servers as a workaround.
Expected results
The table to render properly.
Actual results
A table widget with an error loaded. See screeenshot.
Additional details and attachments
Here's the exception stack trace from the server-side, as displayed in the console:
heduler-Concurrent-3 | i.d.s.s.SessionService | Internal Error 'ef498c1c-f351-4b5a-9f2b-da5f85b0e713' java.lang.IllegalArgumentException: Failed to convert literal value <"100"> for column "cnum" of type long
at io.deephaven.engine.table.impl.select.MatchFilter.init(MatchFilter.java:155)
at io.deephaven.engine.table.impl.PartitionAwareSourceTable.whereImpl(PartitionAwareSourceTable.java:288)
at io.deephaven.engine.table.impl.PartitionAwareSourceTable.where(PartitionAwareSourceTable.java:272)
at io.deephaven.engine.table.impl.PartitionAwareSourceTable.where(PartitionAwareSourceTable.java:35)
at io.deephaven.server.table.ops.FilterTableGrpcImpl.create(FilterTableGrpcImpl.java:57)
at io.deephaven.server.table.ops.FilterTableGrpcImpl.create(FilterTableGrpcImpl.java:30)
at io.deephaven.server.table.ops.TableServiceGrpcImpl$BatchExportBuilder.doExport(TableServiceGrpcImpl.java:689)
at io.deephaven.server.table.ops.TableServiceGrpcImpl.lambda$batch$5(TableServiceGrpcImpl.java:541)
at io.deephaven.server.session.SessionState$ExportObject.doExport(SessionState.java:921)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at io.deephaven.server.runner.scheduler.SchedulerModule$ThreadFactory.lambda$newThread$0(SchedulerModule.java:78)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.NumberFormatException: For input string: ""100""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Long.parseLong(Long.java:678)
at java.base/java.lang.Long.parseLong(Long.java:817)
at io.deephaven.engine.table.impl.select.MatchFilter$ColumnTypeConvertorFactory$4.convertStringLiteral(MatchFilter.java:229)
at io.deephaven.engine.table.impl.select.MatchFilter.init(MatchFilter.java:152)
... 15 more
Here's a screenshot of the issue:

Versions
Version
0.27.0
Description
When using non-
Stringpartitioning columns (longin my example), the partition-selection drop-down incorrectly tries to filter as if the values are strings. It wraps them in quotes, causingMatchFilterparsing to reject the literal.Steps to reproduce
Use a command like:
to load a Parquet table that uses metadata files, a
TableDefinition, or inferred partitioning column types from key=value directory name pairs. If any of the partitioning column types is not aString, you should see this error or similar.Note that the automatic first-partition retrieval fails, as does selecting a partition to filter to.
coalesce()orwhere()on the table to skip this servers as a workaround.Expected results
The table to render properly.
Actual results
A table widget with an error loaded. See screeenshot.
Additional details and attachments
Here's the exception stack trace from the server-side, as displayed in the console:
Here's a screenshot of the issue:

Versions
Version
0.27.0