mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	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
 |