Skip to content

Add View::on_remove, better ExprTK coercion - #3227

Merged
texodus merged 3 commits into
masterfrom
bug-fixes
Sep 5, 2026
Merged

Add View::on_remove, better ExprTK coercion#3227
texodus merged 3 commits into
masterfrom
bug-fixes

Conversation

@texodus

@texodus texodus commented Sep 5, 2026

Copy link
Copy Markdown
Member
  • Fixes Table 'remove' operation does not reflect jupyter widget data #1597 and its duplicate removing rows on backend table does not replicate to client table #2293 via a "new" View::on_remove callback registration which ticks Arrow encoded IDs evicted from indexed Tables. "New" because this API existed in v2.x, but did not trigger in the commonly used (but poorly performing) use case of calling Table::clear and Table::replace, followed by a Table::update with the same slightly modified dataset. This "new" version handles both cases correctly, and uses Arrow encoding to lessen the performance impact - however, nothing will ultimately change that this is the slowest way to use Perspective, and incremental changes via Table::update and Table::remove should be preferred where possible.
  • Fixes Comparison operators do not work with data types other than float in "Expressions". #1614 by introducing complete numeric type coercion to Perspective's ExprTK validation pass, as well as a few other small type fixes with operators, nulls and argument types. Casting numeric types to compare them (and having them silently fail otherwise) is no longer an issue and most types will coerce as you expect when compared, regardless of underlying type.
  • Fixes unreported resize issue in perspective-viewer when text outside the component is selected and a drag/drop operation is attempted.

Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
@texodus texodus added the bug Concrete, reproducible bugs label Sep 5, 2026
Signed-off-by: Andrew Stein <steinlink@gmail.com>
@texodus
texodus merged commit 11c8238 into master Sep 5, 2026
18 checks passed
@texodus
texodus deleted the bug-fixes branch September 5, 2026 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Concrete, reproducible bugs

Development

Successfully merging this pull request may close these issues.

Comparison operators do not work with data types other than float in "Expressions". Table 'remove' operation does not reflect jupyter widget data

1 participant