diff options
author | Olivier Bertrand <bertrandop@gmail.com> | 2013-05-05 12:45:26 +0200 |
---|---|---|
committer | Olivier Bertrand <bertrandop@gmail.com> | 2013-05-05 12:45:26 +0200 |
commit | 495981141118e7b88b75526c494af12888ffcf12 (patch) | |
tree | 5fec5d100dcd1fc2e9e83206f3271e8c0b4732a3 /storage | |
parent | 5fc19f8db85af67efac58c3710933aa6c8925e29 (diff) | |
download | mariadb-git-495981141118e7b88b75526c494af12888ffcf12.tar.gz |
- General code cleaning, eliminating a few potential bugs
modified:
storage/connect/catalog.h
storage/connect/mycat.cc
storage/connect/taboccur.cpp
storage/connect/taboccur.h
storage/connect/tabutil.cpp
storage/connect/tabutil.h
storage/connect/tabxcl.cpp
storage/connect/tabxcl.h
Diffstat (limited to 'storage')
-rw-r--r-- | storage/connect/catalog.h | 4 | ||||
-rw-r--r-- | storage/connect/mycat.cc | 16 | ||||
-rw-r--r-- | storage/connect/taboccur.cpp | 2 | ||||
-rw-r--r-- | storage/connect/taboccur.h | 6 | ||||
-rw-r--r-- | storage/connect/tabutil.cpp | 66 | ||||
-rw-r--r-- | storage/connect/tabutil.h | 28 | ||||
-rw-r--r-- | storage/connect/tabxcl.cpp | 43 | ||||
-rw-r--r-- | storage/connect/tabxcl.h | 5 |
8 files changed, 34 insertions, 136 deletions
diff --git a/storage/connect/catalog.h b/storage/connect/catalog.h index 4f0584ef7bc..365169100d9 100644 --- a/storage/connect/catalog.h +++ b/storage/connect/catalog.h @@ -63,7 +63,7 @@ class DllExport CATALOG { // Implementation void *GetDescp(void) {return Descp;} - PRELDEF GetTo_Desc(void) {return To_Desc;} +//PRELDEF GetTo_Desc(void) {return To_Desc;} //PSZ GetDescFile(void) {return DescFile;} int GetCblen(void) {return Cblen;} bool GetDefHuge(void) {return DefHuge;} @@ -115,7 +115,7 @@ class DllExport CATALOG { virtual PRELDEF MakeTableDesc(PGLOBAL g, LPCSTR name, LPCSTR am) {return NULL;} // Members - PRELDEF To_Desc; /* To chain of relation desc. */ +//PRELDEF To_Desc; /* To chain of relation desc. */ void *Descp; /* To DB description area */ //AREADEF DescArea; /* Table desc. area size */ char *Cbuf; /* Buffer used for col section */ diff --git a/storage/connect/mycat.cc b/storage/connect/mycat.cc index b46c014fba6..badcdcb9514 100644 --- a/storage/connect/mycat.cc +++ b/storage/connect/mycat.cc @@ -253,7 +253,7 @@ uint GetFuncID(const char *func) /***********************************************************************/ CATALOG::CATALOG(void) { - To_Desc= NULL; +//To_Desc= NULL; //*DescFile= '\0'; #if defined(WIN32) DataPath= ".\\"; @@ -276,7 +276,7 @@ CATALOG::CATALOG(void) MYCAT::MYCAT(PHC hc) : CATALOG() { Hc= hc; - To_Desc= NULL; +//To_Desc= NULL; DefHuge= false; //SepIndex= true; // Temporay until we can store offet and size } // end of MYCAT constructor @@ -286,7 +286,7 @@ MYCAT::MYCAT(PHC hc) : CATALOG() /***********************************************************************/ void MYCAT::Reset(void) { - To_Desc= NULL; +//To_Desc= NULL; } // end of Reset /***********************************************************************/ @@ -586,9 +586,7 @@ bool MYCAT::GetIndexInfo(PGLOBAL g, PTABDEF defp) /***********************************************************************/ /* GetTableDesc: retrieve a table descriptor. */ -/* Look for a table descriptor matching the name and type. If found */ -/* in storage, return a pointer to it, else look in the XDB file. If */ -/* found, make and add the descriptor and return a pointer to it. */ +/* Look for a table descriptor matching the name and type. */ /***********************************************************************/ PRELDEF MYCAT::GetTableDesc(PGLOBAL g, LPCSTR name, LPCSTR type, PRELDEF *prp) @@ -597,8 +595,8 @@ PRELDEF MYCAT::GetTableDesc(PGLOBAL g, LPCSTR name, printf("GetTableDesc: name=%s am=%s\n", name, SVP(type)); // Firstly check whether this table descriptor is in memory - if (To_Desc) - return To_Desc; +//if (To_Desc) +// return To_Desc; // If not specified get the type of this table if (!type && !(type= Hc->GetStringOption("Type"))) @@ -707,7 +705,7 @@ PTDB MYCAT::GetTable(PGLOBAL g, PTABLE tablep, MODE mode, LPCSTR type) /***********************************************************************/ void MYCAT::ClearDB(PGLOBAL g) { - To_Desc= NULL; +//To_Desc= NULL; } // end of ClearDB /* ------------------------ End of MYCAT --------------------------- */ diff --git a/storage/connect/taboccur.cpp b/storage/connect/taboccur.cpp index 8b7e10f2e34..2f721c6a7cf 100644 --- a/storage/connect/taboccur.cpp +++ b/storage/connect/taboccur.cpp @@ -161,7 +161,7 @@ int TDBOCCUR::MakeColumnList(PGLOBAL g) // Count the number of columns and change separator into null char for (pn = Colist; ; pn += (strlen(pn) + 1)) - if ((p = strchr(pn, ';'))) { + if ((p = strchr(pn, ',')) || (p = strchr(pn, ';'))) { *p++ = '\0'; n++; } else { diff --git a/storage/connect/taboccur.h b/storage/connect/taboccur.h index c0077a0b33e..076202be477 100644 --- a/storage/connect/taboccur.h +++ b/storage/connect/taboccur.h @@ -9,12 +9,11 @@ typedef class OCCURDEF *POCCURDEF; typedef class TDBOCCUR *PTDBOCCUR; typedef class OCCURCOL *POCCURCOL; typedef class RANKCOL *PRANKCOL; -typedef class SRTCOL *PSRTCOL; /* -------------------------- OCCUR classes -------------------------- */ /***********************************************************************/ -/* OCCUR: OEM table that provides a view of a source table where the */ +/* OCCUR: Table that provides a view of a source table where the */ /* contain of several columns of the source table is placed in only */ /* one column, the OCCUR column, this resulting into several rows. */ /***********************************************************************/ @@ -48,7 +47,6 @@ class OCCURDEF : public PRXDEF { /* Logical table description */ class TDBOCCUR : public TDBPRX { friend class OCCURCOL; friend class RANKCOL; - friend class SRTCOL; public: // Constructor TDBOCCUR(POCCURDEF tdp); @@ -116,7 +114,7 @@ class OCCURCOL : public COLBLK { class RANKCOL : public COLBLK { public: // Constructors - RANKCOL(PCOLDEF cdp, PTDBOCCUR tdbp, int n) : COLBLK(cdp, tdbp, n) {} + RANKCOL(PCOLDEF cdp, PTDBOCCUR tdbp, int n) : COLBLK(cdp, tdbp, n) {} // Implementation virtual int GetAmType(void) {return TYPE_AM_OCCUR;} diff --git a/storage/connect/tabutil.cpp b/storage/connect/tabutil.cpp index 3829e16b00b..2bd92ff9607 100644 --- a/storage/connect/tabutil.cpp +++ b/storage/connect/tabutil.cpp @@ -1,9 +1,9 @@ -/************* Tabutil cpp Declares Source Code File (.H) **************/ +/************* Tabutil cpp Declares Source Code File (.CPP) ************/ /* Name: TABUTIL.CPP Version 1.0 */ /* */ /* (C) Copyright to the author Olivier BERTRAND 2013 */ /* */ -/* Utility function used by TBL and PRX tables. */ +/* Utility function used by the PROXY, XCOL, OCCUR, and TBL tables. */ /***********************************************************************/ /***********************************************************************/ @@ -117,7 +117,6 @@ TABLE_SHARE *GetTableShare(PGLOBAL g, THD *thd, const char *db, /************************************************************************/ /* TabColumns: constructs the result blocks containing all the columns */ /* of the object table that will be retrieved by GetData commands. */ -/* key = TRUE when called from Create Table to get key informations. */ /************************************************************************/ PQRYRES TabColumns(PGLOBAL g, THD *thd, const char *db, const char *name, bool info) @@ -264,7 +263,11 @@ bool PRXDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) char *pn, *db, *tab; db = Cat->GetStringCatInfo(g, "Dbname", "*"); - tab = Cat->GetStringCatInfo(g, "Tabname", NULL); + + if (!(tab = Cat->GetStringCatInfo(g, "Tabname", NULL))) { + strcpy(g->Message, "Missing object table name"); + return TRUE; + } // endif tab // Analyze the table name, it may have the format: [dbname.]tabname if ((pn = strchr(tab, '.'))) { @@ -414,7 +417,7 @@ int TDBPRX::RowNumber(PGLOBAL g, bool b) } // end of RowNumber /***********************************************************************/ -/* XCV Access Method opening routine. */ +/* PROXY Access Method opening routine. */ /***********************************************************************/ bool TDBPRX::OpenDB(PGLOBAL g) { @@ -453,7 +456,7 @@ bool TDBPRX::OpenDB(PGLOBAL g) } // end of OpenDB /***********************************************************************/ -/* Data Base read routine for XCV access method. */ +/* Data Base read routine for PROY access method. */ /***********************************************************************/ int TDBPRX::ReadDB(PGLOBAL g) { @@ -464,7 +467,7 @@ int TDBPRX::ReadDB(PGLOBAL g) } // end of ReadDB /***********************************************************************/ -/* WriteDB: Data Base write routine for XCV access methods. */ +/* WriteDB: Data Base write routine for PROXY access methods. */ /***********************************************************************/ int TDBPRX::WriteDB(PGLOBAL g) { @@ -473,7 +476,7 @@ int TDBPRX::WriteDB(PGLOBAL g) } // end of WriteDB /***********************************************************************/ -/* Data Base delete line routine for XCV access methods. */ +/* Data Base delete line routine for PROXY access methods. */ /***********************************************************************/ int TDBPRX::DeleteDB(PGLOBAL g, int irc) { @@ -496,7 +499,7 @@ void TDBPRX::RemoveNext(PTABLE tp) /* PRXCOL public constructor. */ /***********************************************************************/ PRXCOL::PRXCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PSZ am) - : COLBLK(cdp, tdbp, i) + : COLBLK(cdp, tdbp, i) { if (cprec) { Next = cprec->GetNext(); @@ -561,29 +564,6 @@ void PRXCOL::ReadColumn(PGLOBAL g) } // end of ReadColumn -#if 0 -/* ---------------------------TBCDEF class --------------------------- */ - -/***********************************************************************/ -/* DefineAM: define specific AM block values from CATLG table. */ -/***********************************************************************/ -bool TBCDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) - { - Desc = "Catalog Table"; - Database = Cat->GetStringCatInfo(g, "Database", "*"); - Tabname = Cat->GetStringCatInfo(g, "Tabname", Tabname); - return FALSE; - } // end of DefineAM - -/***********************************************************************/ -/* GetTable: makes a new TDB of the proper type. */ -/***********************************************************************/ -PTDB TBCDEF::GetTable(PGLOBAL g, MODE m) - { - return new(g) TDBTBC(this); - } // end of GetTable -#endif // 0 - /* ---------------------------TDBTBC class --------------------------- */ /***********************************************************************/ @@ -591,31 +571,9 @@ PTDB TBCDEF::GetTable(PGLOBAL g, MODE m) /***********************************************************************/ TDBTBC::TDBTBC(PPRXDEF tdp) : TDBCAT(tdp) { -// Db = tdp->Database; -// Tab = tdp->Tabname; - Db = (PSZ)tdp->Tablep->GetQualifier(); - Tab = (PSZ)tdp->Tablep->GetName(); - } // end of TDBTBC constructor - -#if 0 -/***********************************************************************/ -/* TDBTBC class constructor from TBL table. */ -/***********************************************************************/ -TDBTBC::TDBTBC(PTBLDEF tdp) : TDBCAT(tdp) - { - Db = tdp->To_Tables->DB; - Tab = tdp->To_Tables->Name; - } // end of TDBTBC constructor - -/***********************************************************************/ -/* TDBTBC class constructor from PRX table. */ -/***********************************************************************/ -TDBTBC::TDBTBC(PXCLDEF tdp) : TDBCAT(tdp) - { Db = (PSZ)tdp->Tablep->GetQualifier(); Tab = (PSZ)tdp->Tablep->GetName(); } // end of TDBTBC constructor -#endif // 0 /***********************************************************************/ /* GetResult: Get the list the MYSQL table columns. */ diff --git a/storage/connect/tabutil.h b/storage/connect/tabutil.h index 3a5946bae8f..b99cf959bca 100644 --- a/storage/connect/tabutil.h +++ b/storage/connect/tabutil.h @@ -132,34 +132,6 @@ class DllExport PRXCOL : public COLBLK { int Colnum; // Used when retrieving columns by number }; // end of class PRXCOL -#if 0 -/***********************************************************************/ -/* TBC table. */ -/***********************************************************************/ -class TBCDEF : public TABDEF {/* Logical table description */ - friend class TDBTBC; - friend class ha_connect; - public: - // Constructor - TBCDEF(void) {Database = NULL; Tabname = NULL;} - - - // Implementation - virtual const char *GetType(void) {return "TBC";} - inline PSZ GetDatabase(void) {return Database;}; - inline PSZ GetTabname(void) {return Tabname;} - - // Methods - virtual bool DefineAM(PGLOBAL g, LPCSTR am, int poff); - virtual PTDB GetTable(PGLOBAL g, MODE m); - - protected: - // Members - PSZ Database; /* Database to be used by server */ - PSZ Tabname; /* External table name */ - }; // end of TBCDEF -#endif // 0 - /***********************************************************************/ /* This is the class declaration for the TBC column catalog table. */ /***********************************************************************/ diff --git a/storage/connect/tabxcl.cpp b/storage/connect/tabxcl.cpp index 78998435aa6..d64a730beb0 100644 --- a/storage/connect/tabxcl.cpp +++ b/storage/connect/tabxcl.cpp @@ -73,7 +73,7 @@ XCLDEF::XCLDEF(void) } // end of XCLDEF constructor /***********************************************************************/ -/* DefineAM: define specific AM block values from XCOL file. */ +/* DefineAM: define specific AM block values from XCOL table. */ /***********************************************************************/ bool XCLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) { @@ -106,7 +106,7 @@ PTDB XCLDEF::GetTable(PGLOBAL g, MODE mode) TDBXCL::TDBXCL(PXCLDEF tdp) : TDBPRX(tdp) { Xcolumn = tdp->Xcol; // CSV column name - Xcolp = NULL; // To the XCVCOL column + Xcolp = NULL; // To the XCLCOL column Mult = tdp->Mult; // Multiplication factor N = 0; // The current table index M = 0; // The occurence rank @@ -116,33 +116,6 @@ TDBXCL::TDBXCL(PXCLDEF tdp) : TDBPRX(tdp) } // end of TDBXCL constructor /***********************************************************************/ -/* Initializes the table. */ -/***********************************************************************/ -bool TDBXCL::InitTable(PGLOBAL g) - { - if (!Tdbp) { - PCOLDEF cdp; - - // Get the table description block of this table - if (!(Tdbp = (PTDBASE)GetSubTable(g, ((PXCLDEF)To_Def)->Tablep))) - return TRUE; - - for (cdp = Tdbp->GetDef()->GetCols(); cdp; cdp = cdp->GetNext()) - if (!stricmp(cdp->GetName(), Xcolumn)) - break; - - if (!cdp) { - sprintf(g->Message, "%s is not a %s column", - Xcolumn, Tdbp->GetName()); - return TRUE; - } // endif cdp - - } // endif Tdbp - - return FALSE; - } // end of InitTable - -/***********************************************************************/ /* Allocate XCL column description block. */ /***********************************************************************/ PCOL TDBXCL::MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n) @@ -165,7 +138,7 @@ int TDBXCL::GetMaxSize(PGLOBAL g) { if (MaxSize < 0) { if (InitTable(g)) - return NULL; + return 0; MaxSize = Mult * Tdbp->GetMaxSize(g); } // endif MaxSize @@ -174,8 +147,8 @@ int TDBXCL::GetMaxSize(PGLOBAL g) } // end of GetMaxSize /***********************************************************************/ -/* In this sample, ROWID will be the (virtual) row number, */ -/* while ROWNUM will be the occurence rank in the multiple column. */ +/* For this table type, ROWID is the (virtual) row number, */ +/* while ROWNUM is be the occurence rank in the multiple column. */ /***********************************************************************/ int TDBXCL::RowNumber(PGLOBAL g, bool b) { @@ -183,7 +156,7 @@ int TDBXCL::RowNumber(PGLOBAL g, bool b) } // end of RowNumber /***********************************************************************/ -/* XCV Access Method opening routine. */ +/* XCL Access Method opening routine. */ /***********************************************************************/ bool TDBXCL::OpenDB(PGLOBAL g) { @@ -206,7 +179,7 @@ bool TDBXCL::OpenDB(PGLOBAL g) } // endif Mode if (InitTable(g)) - return NULL; + return TRUE; /*********************************************************************/ /* Check and initialize the subtable columns. */ @@ -225,7 +198,7 @@ bool TDBXCL::OpenDB(PGLOBAL g) } // end of OpenDB /***********************************************************************/ -/* Data Base read routine for XCV access method. */ +/* Data Base read routine for XCL access method. */ /***********************************************************************/ int TDBXCL::ReadDB(PGLOBAL g) { diff --git a/storage/connect/tabxcl.h b/storage/connect/tabxcl.h index 79b890c9f55..28fbf85d509 100644 --- a/storage/connect/tabxcl.h +++ b/storage/connect/tabxcl.h @@ -45,7 +45,7 @@ class XCLDEF : public PRXDEF { /* Logical table description */ }; // end of XCLDEF /***********************************************************************/ -/* This is the class declaration for the XCSV table. */ +/* This is the class declaration for the XCOL table. */ /***********************************************************************/ class TDBXCL : public TDBPRX { friend class XCLDEF; @@ -64,7 +64,6 @@ class TDBXCL : public TDBPRX { // Database routines virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n); - virtual bool InitTable(PGLOBAL g); virtual int GetMaxSize(PGLOBAL g); virtual bool OpenDB(PGLOBAL g); virtual int ReadDB(PGLOBAL g); @@ -77,7 +76,7 @@ class TDBXCL : public TDBPRX { int N; // The current table index int M; // The occurence rank BYTE RowFlag; // 0: Ok, 1: Same, 2: Skip - BOOL New; // TRUE for new line + bool New; // TRUE for new line char Sep; // The Xcol separator }; // end of class TDBXCL |