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.
		
			
				
	
	
		
			120 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*************** FilAMap H Declares Source Code File (.H) **************/
 | |
| /*  Name: FILAMAP.H     Version 1.3                                    */
 | |
| /*                                                                     */
 | |
| /*  (C) Copyright to the author Olivier BERTRAND          2005-2014    */
 | |
| /*                                                                     */
 | |
| /*  This file contains the MAP file access method classes declares.    */
 | |
| /***********************************************************************/
 | |
| #ifndef __FILAMAP_H
 | |
| #define __FILAMAP_H
 | |
| 
 | |
| #include "block.h"
 | |
| #include "filamtxt.h"
 | |
| 
 | |
| typedef class MAPFAM *PMAPFAM;
 | |
| 
 | |
| /***********************************************************************/
 | |
| /*  This is the variable file access method using file mapping.        */
 | |
| /***********************************************************************/
 | |
| class DllExport MAPFAM : public TXTFAM {
 | |
|   friend class TDBJSON;
 | |
|  public:
 | |
|   // Constructor
 | |
|   MAPFAM(PDOSDEF tdp);
 | |
|   MAPFAM(PMAPFAM tmfp);
 | |
| 
 | |
|   // Implementation
 | |
|   AMT   GetAmType(void) override {return TYPE_AM_MAP;}
 | |
|   int   GetPos(void) override;
 | |
|   int   GetNextPos(void) override;
 | |
|   PTXF  Duplicate(PGLOBAL g) override
 | |
|                   {return (PTXF)new(g) MAPFAM(this);}
 | |
| 
 | |
|   // Methods
 | |
|   void  Reset(void) override;
 | |
|   int   GetFileLength(PGLOBAL g) override;
 | |
|   int   Cardinality(PGLOBAL g) override {return (g) ? -1 : 0;}
 | |
|   int   MaxBlkSize(PGLOBAL g, int s) override {return s;}
 | |
|   int   GetRowID(void) override;
 | |
|   bool  RecordPos(PGLOBAL g) override;
 | |
|   bool  SetPos(PGLOBAL g, int recpos) override;
 | |
|   int   SkipRecord(PGLOBAL g, bool header) override;
 | |
|   bool  OpenTableFile(PGLOBAL g) override;
 | |
|   bool  DeferReading(void) override {return false;}
 | |
| 	virtual int   GetNext(PGLOBAL g) {return RC_EF;}
 | |
| 	int   ReadBuffer(PGLOBAL g) override;
 | |
|   int   WriteBuffer(PGLOBAL g) override;
 | |
|   int   DeleteRecords(PGLOBAL g, int irc) override;
 | |
|   void  CloseTableFile(PGLOBAL g, bool abort) override;
 | |
|   void  Rewind(void) override;
 | |
| 
 | |
|  protected:
 | |
|   int   InitDelete(PGLOBAL g, int fpos, int spos) override;
 | |
| 
 | |
|   // Members
 | |
|   char *Memory;               // Pointer on file mapping view.
 | |
|   char *Mempos;               // Position of next data to read
 | |
|   char *Fpos;                 // Position of last read record
 | |
|   char *Tpos;                 // Target Position for delete move
 | |
|   char *Spos;                 // Start position for delete move
 | |
|   char *Top;                  // Mark end of file mapping view
 | |
|   }; // end of class MAPFAM
 | |
| 
 | |
| /***********************************************************************/
 | |
| /*  This is the blocked file access method using file mapping.         */
 | |
| /***********************************************************************/
 | |
| class DllExport MBKFAM : public MAPFAM {
 | |
|  public:
 | |
|   // Constructor
 | |
|   MBKFAM(PDOSDEF tdp);
 | |
|   MBKFAM(PMAPFAM tmfp) : MAPFAM(tmfp) {}
 | |
| 
 | |
|   // Implementation
 | |
|   PTXF Duplicate(PGLOBAL g) override
 | |
|                   {return (PTXF)new(g) MBKFAM(this);}
 | |
| 
 | |
|   // Methods
 | |
|   void Reset(void) override;
 | |
|   int  Cardinality(PGLOBAL g) override;
 | |
|   int  MaxBlkSize(PGLOBAL g, int s) override
 | |
|                 {return TXTFAM::MaxBlkSize(g, s);}
 | |
|   int  GetRowID(void) override;
 | |
|   int  SkipRecord(PGLOBAL g, bool header) override;
 | |
|   int  ReadBuffer(PGLOBAL g) override;
 | |
|   void Rewind(void) override;
 | |
| 
 | |
|  protected:
 | |
|   // No additional members
 | |
|   }; // end of class MBKFAM
 | |
| 
 | |
| /***********************************************************************/
 | |
| /*  This is the fixed file access method using file mapping.           */
 | |
| /***********************************************************************/
 | |
| class DllExport MPXFAM : public MBKFAM {
 | |
|  public:
 | |
|   // Constructor
 | |
|   MPXFAM(PDOSDEF tdp);
 | |
|   MPXFAM(PMAPFAM tmfp) : MBKFAM(tmfp) {}
 | |
| 
 | |
|   // Implementation
 | |
|   int   GetPos(void) override;
 | |
|   PTXF  Duplicate(PGLOBAL g) override
 | |
|                   {return (PTXF)new(g) MPXFAM(this);}
 | |
| 
 | |
|   // Methods
 | |
|   int   Cardinality(PGLOBAL g) override {return TXTFAM::Cardinality(g);}
 | |
|   int   MaxBlkSize(PGLOBAL g, int s) override
 | |
|                 {return TXTFAM::MaxBlkSize(g, s);}
 | |
|   bool  SetPos(PGLOBAL g, int recpos) override;
 | |
|   int   GetNextPos(void) override {return GetPos() + 1;}
 | |
|   bool  DeferReading(void) override {return false;}
 | |
|   int   ReadBuffer(PGLOBAL g) override;
 | |
|   int   WriteBuffer(PGLOBAL g) override;
 | |
| 
 | |
|  protected:
 | |
|   int   InitDelete(PGLOBAL g, int fpos, int spos) override;
 | |
| 
 | |
|   // No additional members
 | |
|   }; // end of class MPXFAM
 | |
| 
 | |
| #endif // __FILAMAP_H
 |