// @(#)root/sql:$Id$ // Author: Sergey Linev 20/11/2005 /************************************************************************* * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TKeySQL #define ROOT_TKeySQL #include "TKey.h" class TSQLFile; class TKeySQL final : public TKey { private: TKeySQL(const TKeySQL &) = delete; TKeySQL &operator=(const TKeySQL &) = delete; protected: TKeySQL() {} // NOLINT: not allowed to use = default because of TObject::kIsOnHeap detection, see ROOT-10300 using TKey::Read; void StoreKeyObject(const void *obj, const TClass *cl); void *ReadKeyObject(void *obj, const TClass *expectedClass); Long64_t fKeyId{-1}; /// 0 ? GetDBObjId() : 0; } Long64_t GetSeekPdir() const final { return GetDBDirId() > 0 ? GetDBDirId() : 0; } void Keep() final {} Int_t Read(TObject *obj) final; TObject *ReadObj() final; TObject *ReadObjWithBuffer(char *bufferRead) final; void *ReadObjectAny(const TClass *expectedClass) final; void ReadBuffer(char *&) final {} Bool_t ReadFile() final { return kTRUE; } void SetBuffer() final { fBuffer = nullptr; } Int_t WriteFile(Int_t = 1, TFile * = nullptr) final { return 0; } ClassDefOverride(TKeySQL, 1) // a special TKey for SQL data base }; #endif