// Licensed to the Apache Software Foundation (ASF) under one// or more contributor license agreements. See the NOTICE file// distributed with this work for additional information// regarding copyright ownership. The ASF licenses this file// to you under the Apache License, Version 2.0 (the// "License"); you may not use this file except in compliance// with the License. You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.package utilimport ()func isArrayDataNil( arrow.ArrayData) bool {if == nil {returntrue }if , := .(*array.Data); {return == nil }panic("unknown ArrayData type")}func totalArrayDataSize( arrow.ArrayData, map[*memory.Buffer]struct{}) int64 {varint64var = struct{}{}for , := range .Buffers() {if == nil {continue }if , := []; ! { += int64(.Len()) [] = } }for , := range .Children() { += (, ) } := .Dictionary()if !isArrayDataNil() { += (, ) }return}func totalArraySize( arrow.Array, map[*memory.Buffer]struct{}) int64 {returntotalArrayDataSize(.Data(), )}func totalRecordSize( arrow.RecordBatch, map[*memory.Buffer]struct{}) int64 {varint64for , := range .Columns() { += totalArraySize(, ) }return}// TotalArraySize returns the sum of the number of bytes in each buffer referenced by the Array.func ( arrow.Array) int64 { := make(map[*memory.Buffer]struct{})returntotalArraySize(, )}// TotalRecordSize return the sum of bytes in each buffer referenced by the RecordBatch.func ( arrow.RecordBatch) int64 { := make(map[*memory.Buffer]struct{})returntotalRecordSize(, )}
The pages are generated with Goldsv0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.