summaryrefslogtreecommitdiff
path: root/storage/connect/plgdbutl.cpp
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2014-03-22 08:57:32 +0100
committerOlivier Bertrand <bertrandop@gmail.com>2014-03-22 08:57:32 +0100
commit81ce7da7a72e483b8f9d491c2d937d8ccc8c7b6e (patch)
tree6f076508d09cd50b09869ce00b5f5810133c3402 /storage/connect/plgdbutl.cpp
parent7b400a088d049661b9a4dded385ac78923bb0017 (diff)
parent31560c448a62514f244b67d0925cd3837188e4c9 (diff)
downloadmariadb-git-81ce7da7a72e483b8f9d491c2d937d8ccc8c7b6e.tar.gz
- Resolving conflicts
modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamtxt.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
Diffstat (limited to 'storage/connect/plgdbutl.cpp')
-rw-r--r--storage/connect/plgdbutl.cpp192
1 files changed, 12 insertions, 180 deletions
diff --git a/storage/connect/plgdbutl.cpp b/storage/connect/plgdbutl.cpp
index 2987ef62e21..6b47aa7433e 100644
--- a/storage/connect/plgdbutl.cpp
+++ b/storage/connect/plgdbutl.cpp
@@ -80,9 +80,6 @@ extern pthread_mutex_t parmut;
#endif // !WIN32
#endif // THREAD
-#define PLGINI "plugdb.ini" /* Configuration settings file */
-#define PLGXINI "plgcnx.ini" /* Configuration settings file */
-
/***********************************************************************/
/* DB static variables. */
/***********************************************************************/
@@ -90,27 +87,13 @@ bool Initdone = false;
bool plugin = false; // True when called by the XDB plugin handler
extern "C" {
-extern char connectini[];
- char plgxini[_MAX_PATH] = PLGXINI;
- char plgini[_MAX_PATH] = PLGINI;
-#if defined(WIN32)
- char nmfile[_MAX_PATH] = ".\\Log\\plugdb.out";
- char pdebug[_MAX_PATH] = ".\\Log\\plgthread.out";
-
- HINSTANCE s_hModule; // Saved module handle
-#else // !WIN32
- char nmfile[_MAX_PATH] = "./Log/plugdb.out";
- char pdebug[_MAX_PATH] = "./Log/plgthread.out";
-#endif // !WIN32
-
#if defined(XMSG)
char msglang[16] = "ENGLISH"; // Default language
#endif
+extern int trace;
+extern char version[];
} // extern "C"
-extern "C" int trace;
-extern "C" char version[];
-
// The debug trace used by the main thread
FILE *pfile = NULL;
@@ -219,27 +202,6 @@ int global_open(GLOBAL *g, int msgid, const char *path, int flags, int mode)
return h;
}
-
-/**************************************************************************/
-/* Utility for external callers (such as XDB) */
-/**************************************************************************/
-DllExport char *GetIni(int n)
- {
- switch (n) {
- case 1: return plgxini; break;
- case 2: return nmfile; break;
- case 3: return pdebug; break;
- case 4: return version; break;
-#if defined(XMSG)
- case 5: return msglang; break;
-#endif // XMSG
- case 6: return connectini; break;
-// default: return plgini;
- } // endswitch GetIni
-
- return plgini;
- } // end of GetIni
-
DllExport void SetTrc(void)
{
// If tracing is on, debug must be initialized.
@@ -418,138 +380,9 @@ char *PlgGetDataPath(PGLOBAL g)
{
PCATLG cat = PlgGetCatalog(g, false);
-//if (!cat)
-// return GetIniString(g, NULL, "DataBase", "DataPath", "", plgini);
-
return (cat) ? cat->GetDataPath() : NULL;
} // end of PlgGetDataPath
-#if 0
-/***********************************************************************/
-/* PlgGetXdbPath: sets the fully qualified file name of a database */
-/* description file in lgn and the new datapath in dp. */
-/* New database description file is a Configuration Settings file */
-/* that will be used and updated in case of DB modifications such */
-/* as Insert into a VCT file. Look for it and use it if found. */
-/* By default the configuration file is DataPath\name.xdb but the */
-/* configuration file name may also be specified in Plugdb.ini. */
-/***********************************************************************/
-bool PlgSetXdbPath(PGLOBAL g, PSZ dbname, PSZ dbpath,
- char *lgn, int lgsize,
- char *path, int psize)
- {
- char *dp, datapath[_MAX_PATH], ft[_MAX_EXT] = ".xdb";
- int n;
-
- if (path) {
- dp = path;
- n = psize;
- } else {
- dp = datapath;
- n = sizeof(datapath);
- } // endif path
-
- GetPrivateProfileString("DataBase", "DataPath", "", dp, n, plgini);
-
- if (trace)
- htrc("PlgSetXdbPath: path=%s\n", dp);
-
- if (dbpath) {
- char fn[_MAX_FNAME];
-
- strcpy(lgn, dbpath);
- _splitpath(lgn, NULL, NULL, fn, NULL);
-
- if (!*fn) // Old style use command
- strcat(lgn, dbname);
-
- _splitpath(lgn, NULL, NULL, dbname, NULL); // Extract DB name
- } else if (strcspn(dbname, ":/\\.") < strlen(dbname)) {
- // dbname name contains the path name of the XDB file
- strcpy(lgn, dbname);
- _splitpath(lgn, NULL, NULL, dbname, NULL); // Extract DB name
- } else
- /*******************************************************************/
- /* New database description file is a Configuration Settings file */
- /* that will be used and updated in case of DB modifications such */
- /* as Insert into a VCT file. Look for it and use it if found. */
- /* By default the configuration file is DataPath\name.xdb but the */
- /* configuration file name may also be specified in Plugdb.ini. */
- /*******************************************************************/
- GetPrivateProfileString("DBnames", dbname, "", lgn, lgsize, plgini);
-
- if (*lgn) {
-#if !defined(UNIX)
- char drive[_MAX_DRIVE];
- char direc[_MAX_DIR];
-#endif
- char fname[_MAX_FNAME];
- char ftype[_MAX_EXT];
-
- _splitpath(lgn, NULL, NULL, fname, ftype);
-
- if (!*ftype)
- strcat(lgn, ft);
- else if (!stricmp(ftype, ".var")) {
- strcpy(g->Message, MSG(NO_MORE_VAR));
- return true;
- } // endif ftype
-
- // Given DB description path may be relative to data path
- PlugSetPath(lgn, lgn, dp);
-
- // New data path is the path of the configuration setting file
-#if !defined(UNIX)
- _splitpath(lgn, drive, direc, NULL, NULL);
- _makepath(dp, drive, direc, "", "");
-#else
-//#error This must be tested for trailing slash
- _splitpath(lgn, NULL, dp, NULL, NULL);
-#endif
- } else {
- // Try dbname[.ext] in the current directory
- strcpy(lgn, dbname);
-
- if (!strchr(dbname, '.'))
- strcat(lgn, ft);
-
- PlugSetPath(lgn, lgn, dp);
- } // endif lgn
-
- if (trace)
- htrc("PlgSetXdbPath: new DB description file=%s\n", lgn);
-
- return false;
- } // end of PlgSetXdbPath
-#endif // 0
-
-/***********************************************************************/
-/* Extract from a path name the required component. */
-/* This function assumes there is enough space in the buffer. */
-/***********************************************************************/
-#if 0
-char *ExtractFromPath(PGLOBAL g, char *pBuff, char *FileName, OPVAL op)
- {
- char *drive = NULL, *direc = NULL, *fname = NULL, *ftype = NULL;
-
- switch (op) { // Determine which part to extract
-#if !defined(UNIX)
- case OP_FDISK: drive = pBuff; break;
-#endif // !UNIX
- case OP_FPATH: direc = pBuff; break;
- case OP_FNAME: fname = pBuff; break;
- case OP_FTYPE: ftype = pBuff; break;
- default:
- sprintf(g->Message, MSG(INVALID_OPER), op, "ExtractFromPath");
- return NULL;
- } // endswitch op
-
- // Now do the extraction
- _splitpath(FileName, drive, direc, fname, ftype);
- return pBuff;
- } // end of PlgExtractFromPath
-#endif
-
/***********************************************************************/
/* Check the occurence and matching of a pattern against a string. */
/* Because this function is only used for catalog name checking, */
@@ -1459,19 +1292,17 @@ void *PlgDBSubAlloc(PGLOBAL g, void *memp, size_t size)
size = ((size + 7) / 8) * 8; /* Round up size to multiple of 8 */
pph = (PPOOLHEADER)memp;
-#if defined(DEBTRACE)
- htrc("PlgDBSubAlloc: memp=%p size=%d used=%d free=%d\n",
- memp, size, pph->To_Free, pph->FreeBlk);
-#endif
+ if (trace > 1)
+ htrc("PlgDBSubAlloc: memp=%p size=%d used=%d free=%d\n",
+ memp, size, pph->To_Free, pph->FreeBlk);
if ((uint)size > pph->FreeBlk) { /* Not enough memory left in pool */
sprintf(g->Message,
"Not enough memory in Work area for request of %d (used=%d free=%d)",
(int) size, pph->To_Free, pph->FreeBlk);
-#if defined(DEBTRACE)
- htrc("%s\n", g->Message);
-#endif
+ if (trace)
+ htrc("%s\n", g->Message);
return NULL;
} // endif size
@@ -1482,10 +1313,11 @@ void *PlgDBSubAlloc(PGLOBAL g, void *memp, size_t size)
memp = MakePtr(memp, pph->To_Free); // Points to suballocated block
pph->To_Free += size; // New offset of pool free block
pph->FreeBlk -= size; // New size of pool free block
-#if defined(DEBTRACE)
- htrc("Done memp=%p used=%d free=%d\n",
- memp, pph->To_Free, pph->FreeBlk);
-#endif
+
+ if (trace > 1)
+ htrc("Done memp=%p used=%d free=%d\n",
+ memp, pph->To_Free, pph->FreeBlk);
+
return (memp);
} // end of PlgDBSubAlloc