github.com/matrixorigin/matrixone@v1.2.0/pkg/vm/engine/tae/txn/txnbase/store.go (about) 1 // Copyright 2021 Matrix Origin 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 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package txnbase 16 17 import ( 18 "context" 19 20 "github.com/matrixorigin/matrixone/pkg/objectio" 21 "github.com/matrixorigin/matrixone/pkg/vm/engine/tae/common" 22 "github.com/matrixorigin/matrixone/pkg/vm/engine/tae/containers" 23 "github.com/matrixorigin/matrixone/pkg/vm/engine/tae/iface/handle" 24 "github.com/matrixorigin/matrixone/pkg/vm/engine/tae/iface/txnif" 25 "github.com/matrixorigin/matrixone/pkg/vm/engine/tae/logstore/entry" 26 "github.com/matrixorigin/matrixone/pkg/vm/engine/tae/model" 27 ) 28 29 var NoopStoreFactory = func() txnif.TxnStore { return new(NoopTxnStore) } 30 31 type NoopTxnStore struct{} 32 33 func (store *NoopTxnStore) StartTrace() {} 34 func (store *NoopTxnStore) TriggerTrace(uint8) {} 35 func (store *NoopTxnStore) EndTrace() {} 36 37 func (store *NoopTxnStore) Freeze() error { return nil } 38 func (store *NoopTxnStore) WaitPrepared(ctx context.Context) (err error) { return } 39 func (store *NoopTxnStore) GetLSN() uint64 { return 0 } 40 func (store *NoopTxnStore) BindTxn(txn txnif.AsyncTxn) {} 41 func (store *NoopTxnStore) Close() error { return nil } 42 func (store *NoopTxnStore) Append(ctx context.Context, dbId, id uint64, data *containers.Batch) error { 43 return nil 44 } 45 func (store *NoopTxnStore) AddObjsWithMetaLoc( 46 ctx context.Context, 47 dbId, tid uint64, 48 stats containers.Vector, 49 ) error { 50 return nil 51 } 52 func (store *NoopTxnStore) GetContext() context.Context { return nil } 53 func (store *NoopTxnStore) SetContext(context.Context) {} 54 func (store *NoopTxnStore) PrepareRollback() error { return nil } 55 func (store *NoopTxnStore) PrePrepare(ctx context.Context) error { return nil } 56 func (store *NoopTxnStore) PrepareCommit() error { return nil } 57 func (store *NoopTxnStore) ApplyRollback() error { return nil } 58 func (store *NoopTxnStore) PreApplyCommit() error { return nil } 59 func (store *NoopTxnStore) ApplyCommit() error { return nil } 60 func (store *NoopTxnStore) Apply2PCPrepare() error { return nil } 61 func (store *NoopTxnStore) PrepareWAL() error { return nil } 62 63 func (store *NoopTxnStore) DoneWaitEvent(cnt int) {} 64 func (store *NoopTxnStore) AddWaitEvent(cnt int) {} 65 func (store *NoopTxnStore) AddTxnEntry(t txnif.TxnEntryType, entry txnif.TxnEntry) {} 66 67 func (store *NoopTxnStore) CreateRelation(dbId uint64, def any) (rel handle.Relation, err error) { 68 return 69 } 70 func (store *NoopTxnStore) CreateRelationWithTableId(dbId uint64, tableId uint64, def any) (rel handle.Relation, err error) { 71 return 72 } 73 func (store *NoopTxnStore) DropRelationByName(dbId uint64, name string) (rel handle.Relation, err error) { 74 return 75 } 76 func (store *NoopTxnStore) DropRelationByID(dbId uint64, id uint64) (rel handle.Relation, err error) { 77 return 78 } 79 func (store *NoopTxnStore) GetRelationByName(dbId uint64, name string) (rel handle.Relation, err error) { 80 return 81 } 82 func (store *NoopTxnStore) GetRelationByID(dbId uint64, id uint64) (rel handle.Relation, err error) { 83 return 84 } 85 86 func (store *NoopTxnStore) CreateDatabase(name, creatSql, datTyp string) (db handle.Database, err error) { 87 return 88 } 89 func (store *NoopTxnStore) CreateDatabaseWithID(name, createSql, datTyp string, id uint64) (db handle.Database, err error) { 90 return 91 } 92 func (store *NoopTxnStore) DropDatabase(name string) (db handle.Database, err error) { return } 93 func (store *NoopTxnStore) DropDatabaseByID(id uint64) (db handle.Database, err error) { return } 94 func (store *NoopTxnStore) UnsafeGetDatabase(id uint64) (db handle.Database, err error) { return } 95 func (store *NoopTxnStore) UnsafeGetRelation(dbId, id uint64) (rel handle.Relation, err error) { 96 return 97 } 98 func (store *NoopTxnStore) GetDatabase(name string) (db handle.Database, err error) { return } 99 func (store *NoopTxnStore) GetDatabaseByID(id uint64) (db handle.Database, err error) { return } 100 func (store *NoopTxnStore) DatabaseNames() (names []string) { return } 101 func (store *NoopTxnStore) GetObject(id *common.ID) (obj handle.Object, err error) { 102 return 103 } 104 105 func (store *NoopTxnStore) CreateObject(dbId, tid uint64, is1PC bool) (obj handle.Object, err error) { 106 return 107 } 108 func (store *NoopTxnStore) CreateNonAppendableObject(dbId, tid uint64, _ bool, _ *objectio.CreateObjOpt) (obj handle.Object, err error) { 109 return 110 } 111 func (store *NoopTxnStore) UpdateMetaLoc(id *common.ID, un objectio.Location) (err error) { 112 return 113 } 114 func (store *NoopTxnStore) UpdateDeltaLoc(id *common.ID, un objectio.Location) (err error) { 115 return 116 } 117 func (store *NoopTxnStore) SoftDeleteBlock(id *common.ID) (err error) { return } 118 func (store *NoopTxnStore) SoftDeleteObject(id *common.ID) (err error) { return } 119 func (store *NoopTxnStore) BatchDedup( 120 uint64, uint64, containers.Vector, 121 ) (err error) { 122 return 123 } 124 func (store *NoopTxnStore) Update(uint64, *common.ID, uint32, uint16, any) (err error) { 125 return 126 } 127 func (store *NoopTxnStore) RangeDelete( 128 *common.ID, uint32, uint32, containers.Vector, handle.DeleteType, 129 ) (err error) { 130 return 131 } 132 func (store *NoopTxnStore) TryDeleteByDeltaloc(id *common.ID, deltaloc objectio.Location) (ok bool, err error) { 133 return 134 } 135 func (store *NoopTxnStore) GetByFilter( 136 context.Context, uint64, uint64, *handle.Filter, 137 ) (id *common.ID, offset uint32, err error) { 138 return 139 } 140 func (store *NoopTxnStore) GetValue( 141 *common.ID, uint32, uint16, 142 ) (v any, isNull bool, err error) { 143 return 144 } 145 146 func (store *NoopTxnStore) LogTxnEntry(dbId, tableId uint64, entry txnif.TxnEntry, readed []*common.ID) (err error) { 147 return 148 } 149 func (store *NoopTxnStore) LogTxnState(sync bool) (logEntry entry.Entry, err error) { 150 return 151 } 152 153 func (store *NoopTxnStore) IsReadonly() bool { return false } 154 func (store *NoopTxnStore) IncreateWriteCnt() int { return 0 } 155 156 func (store *NoopTxnStore) HasAnyTableDataChanges() bool { return false } 157 func (store *NoopTxnStore) GetDirty() *model.Tree { return nil } 158 func (store *NoopTxnStore) HasTableDataChanges(id uint64) bool { return false } 159 func (store *NoopTxnStore) GetDirtyTableByID(id uint64) *model.TableTree { return nil } 160 func (store *NoopTxnStore) HasCatalogChanges() bool { return false } 161 162 func (store *NoopTxnStore) ObserveTxn( 163 visitDatabase func(db any), 164 visitTable func(tbl any), 165 rotateTable func(dbName, tblName string, dbid, tid uint64), 166 visitMetadata func(block any), 167 visitObject func(any), 168 visitAppend func(bat any), 169 visitDelete func(ctx context.Context, deletes txnif.DeleteNode)) { 170 } 171 172 func (store *NoopTxnStore) GetTransactionType() txnif.TxnType { 173 return txnif.TxnType_Normal 174 } 175 176 func (store *NoopTxnStore) UpdateObjectStats(*common.ID, *objectio.ObjectStats) error { return nil }