Allow -r without argument, defaulting to 0#635
Open
dlevy-msft-sql wants to merge 3 commits intomicrosoft:mainfrom
Open
Allow -r without argument, defaulting to 0#635dlevy-msft-sql wants to merge 3 commits intomicrosoft:mainfrom
dlevy-msft-sql wants to merge 3 commits intomicrosoft:mainfrom
Conversation
ODBC sqlcmd allows -r without an explicit value, defaulting to 0 (enable stderr redirection for severity >= 11). Previously go-sqlcmd required -r0 or -r1 explicitly. Changes: - normalizeFlags: Accept empty value for -r flag - getOptionalIntArgument: Return 0 for empty value instead of -1 - Add TestErrorsToStderrDefaultValue test
There was a problem hiding this comment.
Pull request overview
This PR aims to make the legacy sqlcmd CLI accept -r without an explicit value, defaulting to 0 (redirecting severity ≥ 11 errors to stderr) for parity with ODBC sqlcmd. It updates integer flag parsing and normalization around errors-to-stderr and introduces a dedicated test to validate -r behavior.
Changes:
- Updated
getOptionalIntArgumentto treat an empty flag value as0instead of-1. - Relaxed
normalizeFlagsvalidation for theerrors-to-stderrflag to accept an empty value alongside0and1. - Added
TestErrorsToStderrDefaultValueto exercise-r0/-r1parsing andErrorsToStderrwiring.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| cmd/sqlcmd/sqlcmd.go | Adjusts optional int parsing and errors-to-stderr normalization to accommodate (intended) empty-value handling for -r. |
| cmd/sqlcmd/sqlcmd_test.go | Adds a new test for -r0/-r1 behavior and continues to exercise sqlcmd flag parsing and validation. |
- Remove dead code: empty string case in errorsToStderr switch (unreachable due to early return) - Add test for bare -r flag without argument to verify it defaults to 0
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.
ODBC sqlcmd allows -r without an explicit value, defaulting to 0 (enable stderr redirection for severity >= 11 errors). Previously go-sqlcmd required -r0 or -r1 explicitly.
Changes: