S3 select: Fix output conversion on select * (#8303)

Fixes #8268
This commit is contained in:
Klaus Post
2019-09-27 12:33:14 -07:00
committed by Harshavardhana
parent 4155f4e49b
commit 1c5b05c130
6 changed files with 78 additions and 29 deletions

View File

@@ -473,9 +473,8 @@ func (s3Select *S3Select) Evaluate(w http.ResponseWriter) {
outputRecord = s3Select.outputRecord()
outputQueue[len(outputQueue)-1] = outputRecord
}
var ok bool
ok, err = s3Select.statement.Eval(inputRecord, outputRecord)
if !ok || err != nil {
outputRecord, err = s3Select.statement.Eval(inputRecord, outputRecord)
if outputRecord == nil || err != nil {
// This should not be written.
// Remove it from the queue.
outputQueue = outputQueue[:len(outputQueue)-1]
@@ -485,6 +484,7 @@ func (s3Select *S3Select) Evaluate(w http.ResponseWriter) {
continue
}
outputQueue[len(outputQueue)-1] = outputRecord
if len(outputQueue) < cap(outputQueue) {
continue
}