From d6fe0f61a942780d8d8042a821634477f48dd074 Mon Sep 17 00:00:00 2001 From: Klaus Post Date: Tue, 30 Nov 2021 08:42:42 -0800 Subject: [PATCH] do not panic when input cannot be parsed (#13791) Fix cases where `s3Select.Open` fails and doesn't set the recordReader. Fixes #13786 --- internal/s3select/select.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/s3select/select.go b/internal/s3select/select.go index 3f5a220d0..2fc624254 100644 --- a/internal/s3select/select.go +++ b/internal/s3select/select.go @@ -369,7 +369,7 @@ func (s3Select *S3Select) Open(getReader func(offset, length int64) (io.ReadClos return err } - panic(fmt.Errorf("unknown input format '%v'", s3Select.Input.format)) + return fmt.Errorf("unknown input format '%v'", s3Select.Input.format) } func (s3Select *S3Select) marshal(buf *bytes.Buffer, record sql.Record) error { @@ -577,6 +577,9 @@ OuterLoop: // Close - closes opened S3 object. func (s3Select *S3Select) Close() error { + if s3Select.recordReader == nil { + return nil + } return s3Select.recordReader.Close() }