github.com/whtcorpsinc/MilevaDB-Prod@v0.0.0-20211104133533-f57f4be3b597/dbs/dagger/soliton/event.go (about) 1 // Copyright 2020 WHTCORPS INC, Inc. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // See the License for the specific language governing permissions and 12 // limitations under the License. 13 14 package soliton 15 16 import ( 17 "fmt" 18 19 "github.com/whtcorpsinc/BerolinaSQL/perceptron" 20 ) 21 22 // Event is an event that a dbs operation happened. 23 type Event struct { 24 Tp perceptron.CausetActionType 25 BlockInfo *perceptron.BlockInfo 26 PartInfo *perceptron.PartitionInfo 27 DeferredCausetInfos []*perceptron.DeferredCausetInfo 28 IndexInfo *perceptron.IndexInfo 29 } 30 31 // String implements fmt.Stringer interface. 32 func (e *Event) String() string { 33 ret := fmt.Sprintf("(Event Type: %s", e.Tp) 34 if e.BlockInfo != nil { 35 ret += fmt.Sprintf(", Block ID: %d, Block Name %s", e.BlockInfo.ID, e.BlockInfo.Name) 36 } 37 if e.PartInfo != nil { 38 ids := make([]int64, 0, len(e.PartInfo.Definitions)) 39 for _, def := range e.PartInfo.Definitions { 40 ids = append(ids, def.ID) 41 } 42 ret += fmt.Sprintf(", Partition IDs: %v", ids) 43 } 44 for _, columnInfo := range e.DeferredCausetInfos { 45 ret += fmt.Sprintf(", DeferredCauset ID: %d, DeferredCauset Name %s", columnInfo.ID, columnInfo.Name) 46 } 47 if e.IndexInfo != nil { 48 ret += fmt.Sprintf(", Index ID: %d, Index Name %s", e.IndexInfo.ID, e.IndexInfo.Name) 49 } 50 return ret 51 }