mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 db0c28eff8
			
		
	
	
	db0c28eff8
	
	
	
		
			
			Find and fix missing virtual override markings. Updates cmake maintainer flags to include -Wsuggest-override and -Winconsistent-missing-override.
		
			
				
	
	
		
			117 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*************** TabDos H Declares Source Code File (.H) ***************/
 | |
| /*  Name: TABFIX.H    Version 2.4                                      */
 | |
| /*                                                                     */
 | |
| /*  (C) Copyright to the author Olivier BERTRAND          1999-2015    */
 | |
| /*                                                                     */
 | |
| /*  This file contains the TDBFIX and (FIX/BIN)COL classes declares.   */
 | |
| /***********************************************************************/
 | |
| #ifndef __TABFIX__
 | |
| #define __TABFIX__
 | |
| #include "tabdos.h"             /* Base class declares                 */
 | |
| #include "filamdbf.h"
 | |
| 
 | |
| typedef class FIXCOL *PFIXCOL;
 | |
| typedef class BINCOL *PBINCOL;
 | |
| typedef class TXTFAM *PTXF;
 | |
| 
 | |
| /***********************************************************************/
 | |
| /*  This is the DOS/UNIX Access Method class declaration for files     */
 | |
| /*  that are standard files with columns starting at fixed offset.     */
 | |
| /*  This class is for fixed formatted files.                           */
 | |
| /***********************************************************************/
 | |
| class DllExport TDBFIX : public TDBDOS {
 | |
|   friend class FIXCOL;
 | |
|   friend class BINCOL;
 | |
|  public:
 | |
|   // Constructor
 | |
|   TDBFIX(PDOSDEF tdp, PTXF txfp);
 | |
|   TDBFIX(PGLOBAL g, PTDBFIX tdbp);
 | |
| 
 | |
|   // Implementation
 | |
|   AMT  GetAmType(void) override {return TYPE_AM_FIX;}
 | |
|   void RestoreNrec(void) override;
 | |
|   PTDB Duplicate(PGLOBAL g) override
 | |
|                 {return (PTDB)new(g) TDBFIX(g, this);}
 | |
| 
 | |
|   // Methods
 | |
|   PTDB Clone(PTABS t) override;
 | |
|   void ResetDB(void) override;
 | |
|   bool IsUsingTemp(PGLOBAL g) override;
 | |
|   int  RowNumber(PGLOBAL g, bool b = false) override;
 | |
|   int  ResetTableOpt(PGLOBAL g, bool dop, bool dox) override;
 | |
|   void ResetSize(void) override;
 | |
|   int  GetBadLines(void) override {return Txfp->GetNerr();}
 | |
| 
 | |
|   // Database routines
 | |
|   PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n) override;
 | |
|   int  GetProgMax(PGLOBAL g) override;
 | |
|   int  Cardinality(PGLOBAL g) override;
 | |
|   int  GetMaxSize(PGLOBAL g) override;
 | |
|   bool OpenDB(PGLOBAL g) override;
 | |
|   int  WriteDB(PGLOBAL g) override;
 | |
| 
 | |
|  protected:
 | |
|   bool PrepareWriting(PGLOBAL g) override {return false;}
 | |
| 
 | |
|   // Members
 | |
|   char Teds;                  /* Binary table default endian setting   */
 | |
|   }; // end of class TDBFIX
 | |
| 
 | |
| /***********************************************************************/
 | |
| /*  Class BINCOL: BIN access method column descriptor.                 */
 | |
| /*  This A.M. is used for file processed by blocks.                    */
 | |
| /***********************************************************************/
 | |
| class DllExport BINCOL : public DOSCOL {
 | |
|   friend class TDBFIX;
 | |
|  public:
 | |
|   // Constructors
 | |
|   BINCOL(PGLOBAL g, PCOLDEF cdp, PTDB tp, PCOL cp, int i, PCSZ am = "BIN");
 | |
|   BINCOL(BINCOL *colp, PTDB tdbp);  // Constructor used in copy process
 | |
| 
 | |
|   // Implementation
 | |
|   int  GetAmType(void) override {return TYPE_AM_BIN;}
 | |
|           int  GetDeplac(void) {return Deplac;}
 | |
|           int  GetFileSize(void) 
 | |
|                {return N ? N : GetTypeSize(Buf_Type, Long);}
 | |
| 
 | |
|   // Methods
 | |
|   void ReadColumn(PGLOBAL g) override;
 | |
|   void WriteColumn(PGLOBAL g) override;
 | |
| 
 | |
|   // Static
 | |
|   static  void SetEndian(void); 
 | |
| 
 | |
|  protected:
 | |
|   BINCOL(void) = default;    // Default constructor not to be used
 | |
| 
 | |
|   // Members
 | |
|   static char Endian;         // The host endian setting (L or B)
 | |
|   char *Buff;                 // Utility buffer
 | |
|   char  Eds;                  // The file endian setting
 | |
|   char  Fmt;                  // The converted value format
 | |
|   int   N;                    // The number of bytes in the file
 | |
|   int   M;                    // The buffer type size
 | |
|   int   Lim;                  // Min(N,M)
 | |
|   }; // end of class BINCOL
 | |
| 
 | |
| /***********************************************************************/
 | |
| /*  This is the class declaration for the DBF columns catalog table.   */
 | |
| /***********************************************************************/
 | |
| class TDBDCL : public TDBCAT {
 | |
| public:
 | |
| 	// Constructor
 | |
| 	TDBDCL(PDOSDEF tdp) : TDBCAT(tdp)
 | |
| 	  {Fn = tdp->GetFn(); Topt = tdp->GetTopt();}
 | |
| 
 | |
| protected:
 | |
| 	// Specific routines
 | |
| 	PQRYRES GetResult(PGLOBAL g) override
 | |
| 	  {return DBFColumns(g, ((PTABDEF)To_Def)->GetPath(), Fn, Topt, false);}
 | |
| 
 | |
| 	// Members
 | |
| 	PCSZ Fn;                    // The DBF file (path) name
 | |
| 	PTOS Topt;
 | |
| }; // end of class TDBOCL
 | |
| 
 | |
| 
 | |
| #endif // __TABFIX__
 |