Skip to content

Commit

Permalink
Merge pull request #62603 from yuzefovich/backport21.1-62534
Browse files Browse the repository at this point in the history
release-21.1: sql: default to batch size 1 in allocator
  • Loading branch information
yuzefovich authored Mar 26, 2021
2 parents ef63f21 + 233d004 commit f602e37
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions pkg/sql/colmem/allocator.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,16 +156,18 @@ func (a *Allocator) NewMemBatchNoCols(typs []*types.T, capacity int) coldata.Bat
// NOTE: if the reallocation occurs, then the memory under the old batch is
// released, so it is expected that the caller will lose the references to the
// old batch.
// Note: the method assumes that minCapacity is at least 1 and will "truncate"
// minCapacity if it is larger than coldata.BatchSize().
// Note: the method assumes that minCapacity is at least 0 and will clamp
// minCapacity to be between 1 and coldata.BatchSize() inclusive.
// TODO(yuzefovich): change the contract so that maxBatchMemSize takes priority
// over minCapacity.
func (a *Allocator) ResetMaybeReallocate(
typs []*types.T, oldBatch coldata.Batch, minCapacity int, maxBatchMemSize int64,
) (newBatch coldata.Batch, reallocated bool) {
if minCapacity < 0 {
colexecerror.InternalError(errors.AssertionFailedf("invalid minCapacity %d", minCapacity))
} else if minCapacity == 0 || minCapacity > coldata.BatchSize() {
} else if minCapacity == 0 {
minCapacity = 1
} else if minCapacity > coldata.BatchSize() {
minCapacity = coldata.BatchSize()
}
reallocated = true
Expand Down

0 comments on commit f602e37

Please sign in to comment.