Correct query exception details and fixes for "Script As" requests#514
Merged
mmcfarland merged 3 commits intomainfrom Feb 21, 2025
Merged
Correct query exception details and fixes for "Script As" requests#514mmcfarland merged 3 commits intomainfrom
mmcfarland merged 3 commits intomainfrom
Conversation
Prior to changes applying stricter type checking, batch query execution was allowed to return None for result set summaries to the client. That case was accidently prevented and threw a ValueError, which prevented the actual DB error from being included in the response to the client. A test was added to ensure this behavior is restored and remains.
The extra configuration to debugpy was preventing attaching to the process for breakpoint debugging.
The ObjectMetadata attribute type for scripting object originally had a hacky workaround because the client/server contracts were misaligned for making a script request. When that was removed for typing fixes, the parameter was no longer getting deserialized into the correct type. Rather than fix the workaround, the contracts were sorted out, with correct typing, and now the common deserialization code works correctly. This also requires a change on the vscode client side to align.
lossyrob
approved these changes
Feb 21, 2025
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.
Fixes two issues introduced by recent refactoring:
Batch queries that raised an exception while executing were masking the initial db exception and throwing a custom error, which was displayed to the user. This has been resolved to allow the original db error to be displayed by updating the expected types for resultSetSummaries.
Scripting requests were not having their parameters correctly deserialized and as a result, object property accessors were being called on a
dict. TheObjectMetadataattribute type forscripting_objectoriginally had a hacky deserialization workaround because the client/server contracts were misaligned for making a script request. When that was removed for typing fixes, theparameter was no longer getting deserialized into the correct type, and was left a
dict.I also removed some debugpy configuration that was preventing attaching to the process for breakpoint debugging.