Fix query_cost overflow and add Last Error At column#47
Merged
erikdarlingdata merged 1 commit intodevfrom Feb 15, 2026
Merged
Conversation
…column - SafeToDecimal() guards against Infinity/NaN from SQL Server float columns that crash Convert.ToDecimal() (e.g. query_cost in dm_exec_query_memory_grants) - Add Last Error At timestamp column to Health Summary grid so users can tell when an error occurred, not just what it was - Add last_error_time to GetCollectionHealthAsync() query Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two small fixes from testing the new Collection Health tab:
SafeToDecimal() for query_cost —
sys.dm_exec_query_memory_grants.query_costis a SQL Serverfloatthat can beInfinityorNaNfor degenerate query plans.Convert.ToDecimal()can't represent these and throws "Value was either too large or too small for an Int64". NewSafeToDecimal()helper handles this gracefully.Last Error At column — The Health Summary grid showed what the last error was but not when it happened. Added
last_error_timeto the query and a "Last Error At" column so you can tell if an error is current or ancient history.Test plan
dotnet build -c Debug— builds clean🤖 Generated with Claude Code