fix(pgcopy): return clear error when row has more columns than tuple size#437
Open
SAY-5 wants to merge 1 commit intoGreenmaskIO:mainfrom
Open
fix(pgcopy): return clear error when row has more columns than tuple size#437SAY-5 wants to merge 1 commit intoGreenmaskIO:mainfrom
SAY-5 wants to merge 1 commit intoGreenmaskIO:mainfrom
Conversation
…size Row.Decode assumed the number of delimited columns in the raw stream matched the configured tupleSize. When a transformation's query: parameter returned additional columns (for join/lookup use cases), the static-size branch fell through to r.columnPos[idx] with idx >= len(columnPos) and panicked the dump pipeline with 'runtime error: index out of range [N] with length N' inside transformation_pipeline.Dump. Return a descriptive error naming tupleSize so operators see a actionable message rather than a hard panic. The isDynamic path is unchanged. Refs GreenmaskIO/greenmask issue 432. Signed-off-by: SAY-5 <say.apm35@gmail.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.
Fixes #432.
Problem
Row.Decodeassumed the delimited columns in the raw COPY stream matchedtupleSize. A transformation with a userquery:that returns additional columns (for join/lookup use cases) exceededlen(r.columnPos)in the static branch, andr.columnPos[idx]panicked the dump pipeline:Fix
Return a descriptive error naming
tupleSizeso operators see an actionable message instead of a hard panic. TheisDynamicpath is unchanged.Test
go test ./internal/db/postgres/pgcopy/...passes locally.