Documentation ¶
Overview ¶
Copyright 2023 Huawei Cloud Computing Technologies Co., Ltd.
Licensed 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.
Index ¶
- Constants
- Variables
- func FlushVerticalFilter(filterVerBuffer, filterLogBuffer []byte) []byte
- func GenSchemaIdxs(schema record.Schemas, skipIndexRelation *influxql.IndexRelation, ...) []int
- func GetAdaptiveTimeBucket(startTime, endTime time.Time, ascending bool) time.Duration
- func GetAggLogIntervalList() []int
- func GetIndexBuf(cols int) *multiCosBuf
- func IsFullTextIdx(indexRelation *influxql.IndexRelation) bool
- func PutIndexBuf(buf *multiCosBuf)
- type Constant
Constants ¶
View Source
const ( GramTokenizerVersion = 3 CurrentLogTokenizerVersion = 5 )
View Source
const ( Year int = iota Month Day Hour Minute Second )
View Source
const ( SecCountPerMinute int = 1 * 60 SecCountPerHour = 1 * 60 * SecCountPerMinute SecCountPerDay = 1 * 24 * SecCountPerHour SecCountPerMonth = 1 * 30 * SecCountPerDay SecCountPerYear = 1 * 12 * SecCountPerMonth )
View Source
const ( OBSMetaFileName = "segment.meta" OBSVLMFileName = "segment.vlm" OBSContentFileName = "segment.cnt" FilterLogName = "segment.fll" )
View Source
const (
Prime_64 uint64 = 0x9E3779B185EBCA87
)
Variables ¶
View Source
var AggLogBucketCountList = []int{
60, 24, 36, 48, 60, 36, 42, 48, 54, 60,
22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
42, 44, 46, 48, 50, 52, 54, 56, 58, 60,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
}
View Source
var AggLogIntervalList = GetAggLogIntervalList()
View Source
var IndexBufferPool sync.Pool
View Source
var (
Table = crc32.MakeTable(crc32.Castagnoli)
)
Functions ¶
func FlushVerticalFilter ¶
func GenSchemaIdxs ¶
func GenSchemaIdxs(schema record.Schemas, skipIndexRelation *influxql.IndexRelation, fullTextIdx bool) []int
GenSchemaIdxs get bloom filter cols index in the schema
func GetAdaptiveTimeBucket ¶
func GetAggLogIntervalList ¶
func GetAggLogIntervalList() []int
func GetIndexBuf ¶
func GetIndexBuf(cols int) *multiCosBuf
func IsFullTextIdx ¶
func IsFullTextIdx(indexRelation *influxql.IndexRelation) bool
func PutIndexBuf ¶
func PutIndexBuf(buf *multiCosBuf)
Types ¶
type Constant ¶
type Constant struct { FilterDataMemSize int64 // single bloomfilter's size FilterDataDiskSize int64 // FilterDataDiskSize = FilterDataMemSize + crc32 FilterCntPerVerticalGorup int64 // the bloom filter's count in single vertical group FilterGroupMaxDiskSize int64 // the maximum size of row storage before converting to vertical storage VerticalPieceMemSize int64 // single Vertical piece's size in memory, equals 8Byte * FilterCntPerVerticalGorup VerticalPieceDiskSize int64 // VerticalPieceDiskSize = VerticalPieceMemSize + crc32 VerticalPieceCntPerFilter int64 VerticalGroupDiskSize int64 ScanBlockCnt int MetaDataBatchSize int UnnestMetaDataBatchSize int MaxBlockDataSize int MaxLogSizeLimit int MaxBlockLogStoreNBytes int MaxBlockCompressedNBytes int MaxBlockStoreNBytes int ContentAppenderBufferSize int }
var LogStoreConstantV0 *Constant // version[0, 1]
var LogStoreConstantV2 *Constant // version[2, ...]
func GetConstant ¶
Click to show internal directories.
Click to hide internal directories.