/***********************************************************************/ /* Definition of class TDB with all its method functions. */ /***********************************************************************/ class DllExport TDB: public BLOCK { // Table Descriptor Block. public: // Constructors
TDB(PTABDEF tdp = NULL);
TDB(PTDB tdbp);
protected: // Members
PTDB To_Orig; // Pointer to original if it is a copy
PTABDEF To_Def; // Points to catalog description block
TUSE Use;
PFIL To_Filter;
PCFIL To_CondFil; // To condition filter structure const Item *Cond; // The condition used to make filters staticint Tnum; // Used to generate Tdb_no's constint Tdb_No; // GetTdb_No() is always 0 for OPJOIN
PTDB Next; // Next in linearized queries
PTABLE To_Table; // Points to the XTAB object
LPCSTR Name; // Table name
PCOL Columns; // Points to the first column of the table
PCOL To_SetCols; // Points to updated columns
MODE Mode; // 10 Read, 30 Update, 40 Insert, 50 Delete int Degree; // Number of columns int Cardinal; // Table number of rows int MaxSize; // Max size in number of lines bool Read_Only; // True for read only tables const CHARSET_INFO *m_data_charset; constchar *csname; // Table charset name
}; // end of class TDB
/***********************************************************************/ /* This is the base class for all query tables (except decode). */ /***********************************************************************/ class DllExport TDBASE : public TDB { friendclass INDEXDEF; friendclass XINDEX; friendclass XINDXS; public: // Constructor
TDBASE(PTABDEF tdp = NULL);
TDBASE(PTDBASE tdbp);
protected: virtualbool PrepareWriting(PGLOBAL g) {strcpy(g->Message, "This function should not be called for this table"); returntrue;}
// Members
PXOB *To_Link; // Points to column of previous relations
PCOL *To_Key_Col; // Points to key columns in current file
PKXBASE To_Kindex; // Points to table key index
PIXDEF To_Xdp; // To the index definition block
RECFM Ftype; // File type: 0-var 1-fixed 2-binary (VCT) int Knum; // Size of key arrays
}; // end of class TDBASE
/***********************************************************************/ /* The abstract base class declaration for the catalog tables. */ /***********************************************************************/ class DllExport TDBCAT : public TDBASE { friendclass CATCOL; public: // Constructor
TDBCAT(PTABDEF tdp);
// Implementation
AMT GetAmType(void) override {return TYPE_AM_CAT;}
// Methods int GetRecpos(void) override {return N;} int GetProgCur(void) override {return N;} int RowNumber(PGLOBAL, bool = false) override {return N + 1;} bool SetRecpos(PGLOBAL g, int recpos) override;
// Database routines
PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n) override; int Cardinality(PGLOBAL) override {return10;} // To avoid assert int GetMaxSize(PGLOBAL g) override; bool OpenDB(PGLOBAL g) override; int ReadDB(PGLOBAL g) override; int WriteDB(PGLOBAL g) override; int DeleteDB(PGLOBAL g, int irc) override; void CloseDB(PGLOBAL g) override;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.