Possibly Confusing Behavior from Filling "name" Column
- Dominant language
- JavaScript
- Stars
- 18
- Forks
- 10
- PR merge metrics
- No merged PRs in 30d
Description
By default, Thicket performs a union between graphs and fills the row values for profiles that do not contain a given node with `NaN`s (numerical) and `None`s (string). We have found this may be confusing for users who expect a singular datatype, for example when querying:

checking for `"hypre_BoomerAMGSolve" in n` will not work when `n` is `None`, causing the error. In this case the error could be avoided either by (1) turning off `fill_perfdata` when creating the Thicket, or (2) changing the query to `"hypre_BoomerAMGSolve" == n` (which is close but not exactly the same). This is not a bug and rather a question of how we can make the behavior of Thicket more intuitive or easy to understand.
A few solutions:
1. Check for this case before querying and print a warning. This would require parsing the query.
2. Make the fill value an empty string for columns of string type. This would avoid an error in the above case, but would be less clear that the value was filled versus using `None`.
Contributor guide
Research direction
The issue names no files or tests. Start by tracing Thicket construction with fill_perfdata and the query path that handles missing values; done requires choosing and documenting a more intuitive behavior, since the issue currently presents multiple alternatives without a decision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100