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 }