summaryrefslogtreecommitdiff
path: root/storage/connect/tabfix.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/connect/tabfix.h')
-rw-r--r--storage/connect/tabfix.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/storage/connect/tabfix.h b/storage/connect/tabfix.h
new file mode 100644
index 00000000000..ead81833c07
--- /dev/null
+++ b/storage/connect/tabfix.h
@@ -0,0 +1,80 @@
+/*************** TabDos H Declares Source Code File (.H) ***************/
+/* Name: TABFIX.H Version 2.3 */
+/* */
+/* (C) Copyright to the author Olivier BERTRAND 1999-2012 */
+/* */
+/* This file contains the TDBFIX and (FIX/BIN)COL classes declares. */
+/***********************************************************************/
+#ifndef __TABFIX__
+#define __TABFIX__
+#include "tabdos.h" /* Base class declares */
+
+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
+ virtual AMT GetAmType(void) {return TYPE_AM_FIX;}
+ virtual void RestoreNrec(void);
+ virtual PTDB Duplicate(PGLOBAL g)
+ {return (PTDB)new(g) TDBFIX(g, this);}
+
+ // Methods
+ virtual PTDB CopyOne(PTABS t);
+ virtual void ResetDB(void);
+ virtual bool IsUsingTemp(PGLOBAL g);
+ virtual int RowNumber(PGLOBAL g, bool b = false);
+ virtual int ResetTableOpt(PGLOBAL g, bool dox);
+ virtual void ResetSize(void);
+ virtual int GetBadLines(void) {return Txfp->GetNerr();}
+
+ // Database routines
+ virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n);
+ virtual int GetProgMax(PGLOBAL g);
+ virtual int Cardinality(PGLOBAL g);
+ virtual int GetMaxSize(PGLOBAL g);
+ virtual bool OpenDB(PGLOBAL g);
+ virtual int WriteDB(PGLOBAL g);
+
+ protected:
+ // Members are inherited from TDBDOS
+ }; // 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, PSZ am = "BIN");
+ BINCOL(BINCOL *colp, PTDB tdbp); // Constructor used in copy process
+
+ // Implementation
+ virtual int GetAmType(void) {return TYPE_AM_BIN;}
+
+ // Methods
+ virtual void ReadColumn(PGLOBAL g);
+ virtual void WriteColumn(PGLOBAL g);
+
+ protected:
+ BINCOL(void) {} // Default constructor not to be used
+
+ // Members
+ char Fmt; // The column numeric format
+ }; // end of class BINCOL
+#endif // __TABFIX__