diff options
author | Alexander Barkov <bar@mnogosearch.org> | 2013-02-07 13:34:27 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mnogosearch.org> | 2013-02-07 13:34:27 +0400 |
commit | 30c4b0ebc24fe0106e146b1f6577a4150e71e258 (patch) | |
tree | 592673d8c2f5b418833c3ee5fcfeb9dbf4ba1681 /storage/connect/tabmul.h | |
parent | 60c4cab3bd00621cc03afb1be6de01c8fab0c5f0 (diff) | |
download | mariadb-git-30c4b0ebc24fe0106e146b1f6577a4150e71e258.tar.gz |
- Fixing TAB to 2 spaces
- Fixing line endings from "\r\n" to "\n"
Diffstat (limited to 'storage/connect/tabmul.h')
-rw-r--r-- | storage/connect/tabmul.h | 440 |
1 files changed, 220 insertions, 220 deletions
diff --git a/storage/connect/tabmul.h b/storage/connect/tabmul.h index 205d2d6f0c5..052b4e7d33e 100644 --- a/storage/connect/tabmul.h +++ b/storage/connect/tabmul.h @@ -1,220 +1,220 @@ -/*************** Tabmul H Declares Source Code File (.H) ***************/
-/* Name: TABMUL.H Version 1.4 */
-/* */
-/* (C) Copyright to PlugDB Software Development 2003-2012 */
-/* Author: Olivier BERTRAND */
-/* */
-/* This file contains the TDBMUL and TDBDIR classes declares. */
-/***********************************************************************/
-#if defined(WIN32)
-#include <io.h>
-#else // !WIN32
-#include <sys/types.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <dirent.h>
-#endif // !WIN32
-//#include "osutil.h"
-#include "block.h"
-
-typedef class TDBMUL *PTDBMUL;
-typedef class TDBSDR *PTDBSDR;
-
-/***********************************************************************/
-/* This is the MUL Access Method class declaration for files that are */
-/* physically split in multiple files having the same format. */
-/***********************************************************************/
-class DllExport TDBMUL : public TDBASE {
-//friend class MULCOL;
- public:
- // Constructor
- TDBMUL(PTDBASE tdbp);
- TDBMUL(PTDBMUL tdbp);
-
- // Implementation
- virtual AMT GetAmType(void) {return Tdbp->GetAmType();}
- virtual PTDB Duplicate(PGLOBAL g);
-
- // Methods
- virtual void ResetDB(void);
- virtual PTDB CopyOne(PTABS t);
- virtual bool IsSame(PTBX tp) {return tp == (PTBX)Tdbp;}
- virtual PSZ GetFile(PGLOBAL g) {return Tdbp->GetFile(g);}
- virtual int GetRecpos(void) {return 0;}
- virtual PCOL ColDB(PGLOBAL g, PSZ name, int num);
- bool InitFileNames(PGLOBAL g);
-
- // Database routines
- virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n)
- {strcpy(g->Message, MSG(MUL_MAKECOL_ERR)); return NULL;}
- virtual int Cardinality(PGLOBAL g);
- virtual int GetMaxSize(PGLOBAL g);
- virtual int GetProgMax(PGLOBAL g);
- virtual int GetProgCur(void);
- virtual int RowNumber(PGLOBAL g, bool b = false);
- virtual bool OpenDB(PGLOBAL g);
- virtual int ReadDB(PGLOBAL g);
- virtual int WriteDB(PGLOBAL g);
- virtual int DeleteDB(PGLOBAL g, int irc);
- virtual void CloseDB(PGLOBAL g);
-
- protected:
-
- // Members
- TDBASE *Tdbp; // Points to a (file) table class
- char* *Filenames; // Points to file names
- int Rows; // Total rows of already read files
- int Mul; // Type of multiple file list
- int NumFiles; // Number of physical files
- int iFile; // Index of currently processed file
- }; // end of class TDBMUL
-
-/***********************************************************************/
-/* Directory listing table. */
-/***********************************************************************/
-class DllExport DIRDEF : public TABDEF { /* Directory listing table */
- friend class CATALOG;
- friend class TDBDIR;
- public:
- // Constructor
- DIRDEF(void) {Fn = NULL; Incl = false; Huge = false;}
-
- // Implementation
- virtual const char *GetType(void) {return "DIR";}
-
- // Methods
- virtual bool DefineAM(PGLOBAL g, LPCSTR am, int poff);
- virtual PTDB GetTable(PGLOBAL g, MODE m);
-
- protected:
- // Members
- PSZ Fn; /* Path/Name of file search */
- bool Incl; /* true to include sub-directories */
- bool Huge; /* true if files can be larger than 2GB */
- }; // end of DIRDEF
-
-/***********************************************************************/
-/* This is the DIR Access Method class declaration for tables that */
-/* represent a directory listing. The pathname is given at the create */
-/* time and can contain wildcard characters in the file name, and the */
-/* (virtual) table is populated when it is in use. */
-/***********************************************************************/
-class TDBDIR : public TDBASE {
- friend class DIRCOL;
- public:
- // Constructor
- TDBDIR(PDIRDEF tdp);
- TDBDIR(PTDBDIR tdbp);
-
- // Implementation
- virtual AMT GetAmType(void) {return TYPE_AM_DIR;}
- virtual PTDB Duplicate(PGLOBAL g)
- {return (PTDB)new(g) TDBDIR(this);}
-
- // Methods
- virtual PTDB CopyOne(PTABS t);
- virtual int GetRecpos(void) {return iFile;}
-
- // Database routines
- virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n);
- virtual int GetMaxSize(PGLOBAL g);
- virtual int GetProgMax(PGLOBAL g) {return GetMaxSize(g);}
- virtual int GetProgCur(void) {return iFile;}
- virtual bool OpenDB(PGLOBAL g);
- virtual int ReadDB(PGLOBAL g);
- virtual int WriteDB(PGLOBAL g);
- virtual int DeleteDB(PGLOBAL g, int irc);
- virtual void CloseDB(PGLOBAL g);
-
- protected:
- char *Path(PGLOBAL g);
-
- // Members
- PSZ To_File; // Points to file search pathname
- int iFile; // Index of currently retrieved file
-#if defined(WIN32)
- _finddata_t FileData; // Find data structure
- int Hsearch; // Search handle
- char Drive[_MAX_DRIVE]; // Drive name
-#else // !WIN32
- struct stat Fileinfo; // File info structure
- struct dirent *Entry; // Point to directory entry structure
- DIR *Dir; // To searched directory structure
- bool Done; // true when _splipath is done
- char Pattern[_MAX_FNAME+_MAX_EXT];
-#endif // !WIN32
- char Fpath[_MAX_PATH]; // Absolute file search pattern
- char Direc[_MAX_DIR]; // Search path
- char Fname[_MAX_FNAME]; // File name
- char Ftype[_MAX_EXT]; // File extention
- }; // end of class TDBDIR
-
-/***********************************************************************/
-/* This is the DIR Access Method class declaration for tables that */
-/* represent a directory listing. The pathname is given at the create */
-/* time and can contain wildcard characters in the file name, and the */
-/* (virtual) table is populated when it is in use. In addition, this */
-/* class also includes files of included sub-directories. */
-/***********************************************************************/
-class TDBSDR : public TDBDIR {
- friend class DIRCOL;
- public:
- // Constructors
- TDBSDR(PDIRDEF tdp) : TDBDIR(tdp) {Sub = NULL;}
- TDBSDR(PTDBSDR tdbp);
-
- // Implementation
- virtual PTDB Duplicate(PGLOBAL g)
- {return (PTDB)new(g) TDBSDR(this);}
-
- // Methods
- virtual PTDB CopyOne(PTABS t);
-
- // Database routines
- virtual int GetMaxSize(PGLOBAL g);
- virtual int GetProgMax(PGLOBAL g) {return GetMaxSize(g);}
- virtual bool OpenDB(PGLOBAL g);
- virtual int ReadDB(PGLOBAL g);
-//virtual void CloseDB(PGLOBAL g);
-
- protected:
- int FindInDir(PGLOBAL g);
-
- typedef struct _Sub_Dir {
- struct _Sub_Dir *Next;
- struct _Sub_Dir *Prev;
-#if defined(WIN32)
- int H; // Search handle
-#else // !WIN32
- DIR *D;
-#endif // !WIN32
- size_t Len; // Initial directory name length
- } SUBDIR, *PSUBDIR;
-
- // Members
- PSUBDIR Sub; // To current Subdir block
- }; // end of class TDBSDR
-
-/***********************************************************************/
-/* Class DIRCOL: DIR access method column descriptor. */
-/* This A.M. is used for tables populated by DIR file name list. */
-/***********************************************************************/
-class DIRCOL : public COLBLK {
- public:
- // Constructors
- DIRCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PSZ am = "DIR");
- DIRCOL(DIRCOL *colp, PTDB tdbp); // Constructor used in copy process
-
- // Implementation
- virtual int GetAmType(void) {return TYPE_AM_DIR;}
-
- // Methods
- virtual void ReadColumn(PGLOBAL g);
-
- protected:
- // Default constructor not to be used
- DIRCOL(void) {}
-
- // Members
- int N; // Column number
- }; // end of class DIRCOL
+/*************** Tabmul H Declares Source Code File (.H) ***************/ +/* Name: TABMUL.H Version 1.4 */ +/* */ +/* (C) Copyright to PlugDB Software Development 2003-2012 */ +/* Author: Olivier BERTRAND */ +/* */ +/* This file contains the TDBMUL and TDBDIR classes declares. */ +/***********************************************************************/ +#if defined(WIN32) +#include <io.h> +#else // !WIN32 +#include <sys/types.h> +#include <unistd.h> +#include <sys/stat.h> +#include <dirent.h> +#endif // !WIN32 +//#include "osutil.h" +#include "block.h" + +typedef class TDBMUL *PTDBMUL; +typedef class TDBSDR *PTDBSDR; + +/***********************************************************************/ +/* This is the MUL Access Method class declaration for files that are */ +/* physically split in multiple files having the same format. */ +/***********************************************************************/ +class DllExport TDBMUL : public TDBASE { +//friend class MULCOL; + public: + // Constructor + TDBMUL(PTDBASE tdbp); + TDBMUL(PTDBMUL tdbp); + + // Implementation + virtual AMT GetAmType(void) {return Tdbp->GetAmType();} + virtual PTDB Duplicate(PGLOBAL g); + + // Methods + virtual void ResetDB(void); + virtual PTDB CopyOne(PTABS t); + virtual bool IsSame(PTBX tp) {return tp == (PTBX)Tdbp;} + virtual PSZ GetFile(PGLOBAL g) {return Tdbp->GetFile(g);} + virtual int GetRecpos(void) {return 0;} + virtual PCOL ColDB(PGLOBAL g, PSZ name, int num); + bool InitFileNames(PGLOBAL g); + + // Database routines + virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n) + {strcpy(g->Message, MSG(MUL_MAKECOL_ERR)); return NULL;} + virtual int Cardinality(PGLOBAL g); + virtual int GetMaxSize(PGLOBAL g); + virtual int GetProgMax(PGLOBAL g); + virtual int GetProgCur(void); + virtual int RowNumber(PGLOBAL g, bool b = false); + virtual bool OpenDB(PGLOBAL g); + virtual int ReadDB(PGLOBAL g); + virtual int WriteDB(PGLOBAL g); + virtual int DeleteDB(PGLOBAL g, int irc); + virtual void CloseDB(PGLOBAL g); + + protected: + + // Members + TDBASE *Tdbp; // Points to a (file) table class + char* *Filenames; // Points to file names + int Rows; // Total rows of already read files + int Mul; // Type of multiple file list + int NumFiles; // Number of physical files + int iFile; // Index of currently processed file + }; // end of class TDBMUL + +/***********************************************************************/ +/* Directory listing table. */ +/***********************************************************************/ +class DllExport DIRDEF : public TABDEF { /* Directory listing table */ + friend class CATALOG; + friend class TDBDIR; + public: + // Constructor + DIRDEF(void) {Fn = NULL; Incl = false; Huge = false;} + + // Implementation + virtual const char *GetType(void) {return "DIR";} + + // Methods + virtual bool DefineAM(PGLOBAL g, LPCSTR am, int poff); + virtual PTDB GetTable(PGLOBAL g, MODE m); + + protected: + // Members + PSZ Fn; /* Path/Name of file search */ + bool Incl; /* true to include sub-directories */ + bool Huge; /* true if files can be larger than 2GB */ + }; // end of DIRDEF + +/***********************************************************************/ +/* This is the DIR Access Method class declaration for tables that */ +/* represent a directory listing. The pathname is given at the create */ +/* time and can contain wildcard characters in the file name, and the */ +/* (virtual) table is populated when it is in use. */ +/***********************************************************************/ +class TDBDIR : public TDBASE { + friend class DIRCOL; + public: + // Constructor + TDBDIR(PDIRDEF tdp); + TDBDIR(PTDBDIR tdbp); + + // Implementation + virtual AMT GetAmType(void) {return TYPE_AM_DIR;} + virtual PTDB Duplicate(PGLOBAL g) + {return (PTDB)new(g) TDBDIR(this);} + + // Methods + virtual PTDB CopyOne(PTABS t); + virtual int GetRecpos(void) {return iFile;} + + // Database routines + virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n); + virtual int GetMaxSize(PGLOBAL g); + virtual int GetProgMax(PGLOBAL g) {return GetMaxSize(g);} + virtual int GetProgCur(void) {return iFile;} + virtual bool OpenDB(PGLOBAL g); + virtual int ReadDB(PGLOBAL g); + virtual int WriteDB(PGLOBAL g); + virtual int DeleteDB(PGLOBAL g, int irc); + virtual void CloseDB(PGLOBAL g); + + protected: + char *Path(PGLOBAL g); + + // Members + PSZ To_File; // Points to file search pathname + int iFile; // Index of currently retrieved file +#if defined(WIN32) + _finddata_t FileData; // Find data structure + int Hsearch; // Search handle + char Drive[_MAX_DRIVE]; // Drive name +#else // !WIN32 + struct stat Fileinfo; // File info structure + struct dirent *Entry; // Point to directory entry structure + DIR *Dir; // To searched directory structure + bool Done; // true when _splipath is done + char Pattern[_MAX_FNAME+_MAX_EXT]; +#endif // !WIN32 + char Fpath[_MAX_PATH]; // Absolute file search pattern + char Direc[_MAX_DIR]; // Search path + char Fname[_MAX_FNAME]; // File name + char Ftype[_MAX_EXT]; // File extention + }; // end of class TDBDIR + +/***********************************************************************/ +/* This is the DIR Access Method class declaration for tables that */ +/* represent a directory listing. The pathname is given at the create */ +/* time and can contain wildcard characters in the file name, and the */ +/* (virtual) table is populated when it is in use. In addition, this */ +/* class also includes files of included sub-directories. */ +/***********************************************************************/ +class TDBSDR : public TDBDIR { + friend class DIRCOL; + public: + // Constructors + TDBSDR(PDIRDEF tdp) : TDBDIR(tdp) {Sub = NULL;} + TDBSDR(PTDBSDR tdbp); + + // Implementation + virtual PTDB Duplicate(PGLOBAL g) + {return (PTDB)new(g) TDBSDR(this);} + + // Methods + virtual PTDB CopyOne(PTABS t); + + // Database routines + virtual int GetMaxSize(PGLOBAL g); + virtual int GetProgMax(PGLOBAL g) {return GetMaxSize(g);} + virtual bool OpenDB(PGLOBAL g); + virtual int ReadDB(PGLOBAL g); +//virtual void CloseDB(PGLOBAL g); + + protected: + int FindInDir(PGLOBAL g); + + typedef struct _Sub_Dir { + struct _Sub_Dir *Next; + struct _Sub_Dir *Prev; +#if defined(WIN32) + int H; // Search handle +#else // !WIN32 + DIR *D; +#endif // !WIN32 + size_t Len; // Initial directory name length + } SUBDIR, *PSUBDIR; + + // Members + PSUBDIR Sub; // To current Subdir block + }; // end of class TDBSDR + +/***********************************************************************/ +/* Class DIRCOL: DIR access method column descriptor. */ +/* This A.M. is used for tables populated by DIR file name list. */ +/***********************************************************************/ +class DIRCOL : public COLBLK { + public: + // Constructors + DIRCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PSZ am = "DIR"); + DIRCOL(DIRCOL *colp, PTDB tdbp); // Constructor used in copy process + + // Implementation + virtual int GetAmType(void) {return TYPE_AM_DIR;} + + // Methods + virtual void ReadColumn(PGLOBAL g); + + protected: + // Default constructor not to be used + DIRCOL(void) {} + + // Members + int N; // Column number + }; // end of class DIRCOL |