summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2013-03-25 11:07:45 +0100
committerOlivier Bertrand <bertrandop@gmail.com>2013-03-25 11:07:45 +0100
commitcd9e1938ef503b423a652aff0b5d1e0a76361fc6 (patch)
treed29da2e98a25aebacecef85bc16d721bd9afd8fb
parent8f0ae6322c40aa339f9362f59715440952c34a3e (diff)
downloadmariadb-git-cd9e1938ef503b423a652aff0b5d1e0a76361fc6.tar.gz
- Add a new table option SEPINDEX (not used yet) and remove an unused
parameter to all catalog info functions. modified: storage/connect/catalog.h storage/connect/filamvct.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/mycat.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabdos.cpp storage/connect/tabfmt.cpp storage/connect/tabmul.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabsys.cpp storage/connect/tabtbl.cpp storage/connect/tabvct.cpp storage/connect/tabwmi.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp
-rw-r--r--storage/connect/catalog.h18
-rw-r--r--storage/connect/filamvct.cpp4
-rw-r--r--storage/connect/filamzip.cpp8
-rw-r--r--storage/connect/ha_connect.cc8
-rw-r--r--storage/connect/mycat.cc17
-rw-r--r--storage/connect/mycat.h12
-rw-r--r--storage/connect/reldef.cpp18
-rw-r--r--storage/connect/reldef.h2
-rw-r--r--storage/connect/tabdos.cpp37
-rw-r--r--storage/connect/tabfmt.cpp12
-rw-r--r--storage/connect/tabmul.cpp6
-rw-r--r--storage/connect/tabmysql.cpp22
-rw-r--r--storage/connect/tabodbc.cpp16
-rw-r--r--storage/connect/tabsys.cpp12
-rw-r--r--storage/connect/tabtbl.cpp8
-rw-r--r--storage/connect/tabvct.cpp8
-rw-r--r--storage/connect/tabwmi.cpp6
-rw-r--r--storage/connect/tabxml.cpp59
-rw-r--r--storage/connect/xindex.cpp2
19 files changed, 144 insertions, 131 deletions
diff --git a/storage/connect/catalog.h b/storage/connect/catalog.h
index 0d3e64b6f13..9d806b4b4bb 100644
--- a/storage/connect/catalog.h
+++ b/storage/connect/catalog.h
@@ -68,21 +68,21 @@ class DllExport CATALOG {
int GetCblen(void) {return Cblen;}
bool GetDefHuge(void) {return DefHuge;}
void SetDefHuge(bool b) {DefHuge = b;}
- bool GetSepIndex(void) {return SepIndex;}
- void SetSepIndex(bool b) {SepIndex = b;}
+//bool GetSepIndex(void) {return SepIndex;}
+//void SetSepIndex(bool b) {SepIndex = b;}
char *GetCbuf(void) {return Cbuf;}
char *GetDataPath(void) {return (char*)DataPath;}
// Methods
virtual void Reset(void) {}
virtual void SetDataPath(PGLOBAL g, const char *path) {}
- virtual bool GetBoolCatInfo(LPCSTR name, PSZ what, bool bdef) {return bdef;}
- virtual bool SetIntCatInfo(LPCSTR name, PSZ what, int ival) {return false;}
- virtual int GetIntCatInfo(LPCSTR name, PSZ what, int idef) {return idef;}
- virtual int GetSizeCatInfo(LPCSTR name, PSZ what, PSZ sdef) {return 0;}
- virtual int GetCharCatInfo(LPCSTR name, PSZ what, PSZ sdef, char *buf, int size)
+ virtual bool GetBoolCatInfo(PSZ what, bool bdef) {return bdef;}
+ virtual bool SetIntCatInfo(PSZ what, int ival) {return false;}
+ virtual int GetIntCatInfo(PSZ what, int idef) {return idef;}
+ virtual int GetSizeCatInfo(PSZ what, PSZ sdef) {return 0;}
+ virtual int GetCharCatInfo(PSZ what, PSZ sdef, char *buf, int size)
{strncpy(buf, sdef, size); return size;}
- virtual char *GetStringCatInfo(PGLOBAL g, PSZ name, PSZ what, PSZ sdef)
+ virtual char *GetStringCatInfo(PGLOBAL g, PSZ what, PSZ sdef)
{return sdef;}
virtual int GetColCatInfo(PGLOBAL g, PTABDEF defp) {return -1;}
virtual bool GetIndexInfo(PGLOBAL g, PTABDEF defp) {return true;}
@@ -119,7 +119,7 @@ class DllExport CATALOG {
int Cblen; /* Length of suballoc. buffer */
CURTAB Ctb; /* Used to enumerate tables */
bool DefHuge; /* true: tables default to huge */
- bool SepIndex; /* true: separate index files */
+//bool SepIndex; /* true: separate index files */
//char DescFile[_MAX_PATH]; /* DB description filename */
LPCSTR DataPath; /* Is the Path of DB data dir */
}; // end of class CATALOG
diff --git a/storage/connect/filamvct.cpp b/storage/connect/filamvct.cpp
index 4bc7ecf5903..80a5501938f 100644
--- a/storage/connect/filamvct.cpp
+++ b/storage/connect/filamvct.cpp
@@ -1118,8 +1118,8 @@ bool VCTFAM::ResetTableSize(PGLOBAL g, int block, int last)
defp->SetBlock(Block);
defp->SetLast(Last);
- if (!cat->SetIntCatInfo(name, "Blocks", Block) ||
- !cat->SetIntCatInfo(name, "Last", Last)) {
+ if (!cat->SetIntCatInfo("Blocks", Block) ||
+ !cat->SetIntCatInfo("Last", Last)) {
sprintf(g->Message, MSG(UPDATE_ERROR), "Header");
rc = true;
} // endif
diff --git a/storage/connect/filamzip.cpp b/storage/connect/filamzip.cpp
index 19e8b200ed1..4f1a02d8257 100644
--- a/storage/connect/filamzip.cpp
+++ b/storage/connect/filamzip.cpp
@@ -614,8 +614,8 @@ int ZBKFAM::DeleteRecords(PGLOBAL g, int irc)
defp->SetBlock(0);
defp->SetLast(Nrec);
- if (!cat->SetIntCatInfo(name, "Blocks", 0) ||
- !cat->SetIntCatInfo(name, "Last", 0)) {
+ if (!cat->SetIntCatInfo("Blocks", 0) ||
+ !cat->SetIntCatInfo("Last", 0)) {
sprintf(g->Message, MSG(UPDATE_ERROR), "Header");
return RC_FX;
} else
@@ -653,8 +653,8 @@ void ZBKFAM::CloseTableFile(PGLOBAL g)
if (rc != RC_FX) {
defp->SetBlock(Block);
defp->SetLast(Last);
- cat->SetIntCatInfo(name, "Blocks", Block);
- cat->SetIntCatInfo(name, "Last", Last);
+ cat->SetIntCatInfo("Blocks", Block);
+ cat->SetIntCatInfo("Last", Last);
} // endif
gzclose(Zfile);
diff --git a/storage/connect/ha_connect.cc b/storage/connect/ha_connect.cc
index c6b72b46ee8..6b9f87ffe87 100644
--- a/storage/connect/ha_connect.cc
+++ b/storage/connect/ha_connect.cc
@@ -224,6 +224,7 @@ struct ha_table_option_struct {
bool huge;
bool split;
bool readonly;
+ bool sepindex;
};
#if defined(MARIADB)
@@ -257,6 +258,7 @@ ha_create_table_option connect_table_option_list[]=
HA_TOPTION_BOOL("HUGE", huge, 0),
HA_TOPTION_BOOL("SPLIT", split, 0),
HA_TOPTION_BOOL("READONLY", readonly, 0),
+ HA_TOPTION_BOOL("SEPINDEX", sepindex, 0),
HA_TOPTION_END
};
#endif // MARIADB
@@ -870,6 +872,8 @@ bool ha_connect::GetBooleanOption(char *opname, bool bdef)
opval= options->split;
else if (!stricmp(opname, "Readonly"))
opval= options->readonly;
+ else if (!stricmp(opname, "SepIndex"))
+ opval= options->sepindex;
else if (options->oplist)
if ((pv= GetListOption(opname, options->oplist)))
opval= (!*pv || *pv == 'y' || *pv == 'Y' || atoi(pv) != 0);
@@ -4035,9 +4039,11 @@ int ha_connect::create(const char *name, TABLE *table_arg,
if (IsFileType(type)) {
table= table_arg; // Used by called functions
- if (!options->filename) {
+ if (!options->filename && type != TAB_XML) {
// The file name is not specified, create a default file in
// the database directory named table_name.table_type.
+ // (temporarily not done for XML because a void file causes
+ // the XML parsers to report an error on the first Insert)
char buf[256], fn[_MAX_PATH], dbpath[128];
int h;
diff --git a/storage/connect/mycat.cc b/storage/connect/mycat.cc
index 9cfd204c0a8..1d3fa347555 100644
--- a/storage/connect/mycat.cc
+++ b/storage/connect/mycat.cc
@@ -235,7 +235,7 @@ MYCAT::MYCAT(PHC hc) : CATALOG()
Hc= hc;
To_Desc= NULL;
DefHuge= false;
- SepIndex= true; // Temporay until we can store offet and size
+//SepIndex= true; // Temporay until we can store offet and size
} // end of MYCAT constructor
/***********************************************************************/
@@ -273,7 +273,7 @@ void MYCAT::SetPath(PGLOBAL g, LPCSTR *datapath, const char *path)
/***********************************************************************/
/* This function sets an integer MYCAT information. */
/***********************************************************************/
-bool MYCAT::SetIntCatInfo(LPCSTR name, PSZ what, int n)
+bool MYCAT::SetIntCatInfo(PSZ what, int n)
{
return Hc->SetIntegerOption(what, n);
} // end of SetIntCatInfo
@@ -281,7 +281,7 @@ bool MYCAT::SetIntCatInfo(LPCSTR name, PSZ what, int n)
/***********************************************************************/
/* This function returns integer MYCAT information. */
/***********************************************************************/
-int MYCAT::GetIntCatInfo(LPCSTR name, PSZ what, int idef)
+int MYCAT::GetIntCatInfo(PSZ what, int idef)
{
int n= Hc->GetIntegerOption(what);
@@ -291,7 +291,7 @@ int MYCAT::GetIntCatInfo(LPCSTR name, PSZ what, int idef)
/***********************************************************************/
/* This function returns Boolean MYCAT information. */
/***********************************************************************/
-bool MYCAT::GetBoolCatInfo(LPCSTR name, PSZ what, bool bdef)
+bool MYCAT::GetBoolCatInfo(PSZ what, bool bdef)
{
bool b= Hc->GetBooleanOption(what, bdef);
@@ -301,7 +301,7 @@ bool MYCAT::GetBoolCatInfo(LPCSTR name, PSZ what, bool bdef)
/***********************************************************************/
/* This function returns size catalog information. */
/***********************************************************************/
-int MYCAT::GetSizeCatInfo(LPCSTR name, PSZ what, PSZ sdef)
+int MYCAT::GetSizeCatInfo(PSZ what, PSZ sdef)
{
char * s, c;
int i, n= 0;
@@ -323,8 +323,7 @@ int MYCAT::GetSizeCatInfo(LPCSTR name, PSZ what, PSZ sdef)
/***********************************************************************/
/* This function sets char MYCAT information in buf. */
/***********************************************************************/
-int MYCAT::GetCharCatInfo(LPCSTR name, PSZ what,
- PSZ sdef, char *buf, int size)
+int MYCAT::GetCharCatInfo(PSZ what, PSZ sdef, char *buf, int size)
{
char *s= Hc->GetStringOption(what);
@@ -336,7 +335,7 @@ int MYCAT::GetCharCatInfo(LPCSTR name, PSZ what,
/* This function returns string MYCAT information. */
/* Default parameter is "*" to get the handler default. */
/***********************************************************************/
-char *MYCAT::GetStringCatInfo(PGLOBAL g, PSZ name, PSZ what, PSZ sdef)
+char *MYCAT::GetStringCatInfo(PGLOBAL g, PSZ what, PSZ sdef)
{
char *sval, *s= Hc->GetStringOption(what, sdef);
@@ -359,7 +358,7 @@ char *MYCAT::GetStringCatInfo(PGLOBAL g, PSZ name, PSZ what, PSZ sdef)
/***********************************************************************/
int MYCAT::GetColCatInfo(PGLOBAL g, PTABDEF defp)
{
- char *type= GetStringCatInfo(g, NULL, "Type", "DOS");
+ char *type= GetStringCatInfo(g, "Type", "DOS");
int i, loff, poff, nof, nlg;
void *field= NULL;
TABTYPE tc;
diff --git a/storage/connect/mycat.h b/storage/connect/mycat.h
index c68d6a18e5f..037dd17fb6c 100644
--- a/storage/connect/mycat.h
+++ b/storage/connect/mycat.h
@@ -54,12 +54,12 @@ class MYCAT : public CATALOG {
void Reset(void);
void SetDataPath(PGLOBAL g, const char *path)
{SetPath(g, &DataPath, path);}
- bool GetBoolCatInfo(LPCSTR name, PSZ what, bool bdef);
- bool SetIntCatInfo(LPCSTR name, PSZ what, int ival);
- int GetIntCatInfo(LPCSTR name, PSZ what, int idef);
- int GetSizeCatInfo(LPCSTR name, PSZ what, PSZ sdef);
- int GetCharCatInfo(LPCSTR name, PSZ what, PSZ sdef, char *buf, int size);
- char *GetStringCatInfo(PGLOBAL g, PSZ name, PSZ what, PSZ sdef);
+ bool GetBoolCatInfo(PSZ what, bool bdef);
+ bool SetIntCatInfo(PSZ what, int ival);
+ int GetIntCatInfo(PSZ what, int idef);
+ int GetSizeCatInfo(PSZ what, PSZ sdef);
+ int GetCharCatInfo(PSZ what, PSZ sdef, char *buf, int size);
+ char *GetStringCatInfo(PGLOBAL g, PSZ what, PSZ sdef);
int GetColCatInfo(PGLOBAL g, PTABDEF defp);
bool GetIndexInfo(PGLOBAL g, PTABDEF defp);
bool StoreIndex(PGLOBAL g, PTABDEF defp) {return false;} // Temporary
diff --git a/storage/connect/reldef.cpp b/storage/connect/reldef.cpp
index 150c4afa246..77f2f43ec31 100644
--- a/storage/connect/reldef.cpp
+++ b/storage/connect/reldef.cpp
@@ -97,12 +97,12 @@ bool TABDEF::Define(PGLOBAL g, PCATLG cat, LPCSTR name, LPCSTR am)
Name = (PSZ)PlugSubAlloc(g, memp, strlen(name) + 1);
strcpy(Name, name);
Cat = cat;
- Catfunc = GetFuncID(Cat->GetStringCatInfo(g, Name, "Catfunc", NULL));
- Elemt = cat->GetIntCatInfo(name, "Elements", 0);
- Multiple = cat->GetIntCatInfo(name, "Multiple", 0);
- Degree = cat->GetIntCatInfo(name, "Degree", 0);
- Read_Only = cat->GetBoolCatInfo(name, "ReadOnly", false);
- const char *data_charset_name= cat->GetStringCatInfo(g, Name, "Data_charset", NULL);
+ Catfunc = GetFuncID(Cat->GetStringCatInfo(g, "Catfunc", NULL));
+ Elemt = cat->GetIntCatInfo("Elements", 0);
+ Multiple = cat->GetIntCatInfo("Multiple", 0);
+ Degree = cat->GetIntCatInfo("Degree", 0);
+ Read_Only = cat->GetBoolCatInfo("ReadOnly", false);
+ const char *data_charset_name= cat->GetStringCatInfo(g, "Data_charset", NULL);
m_data_charset= data_charset_name ?
get_charset_by_csname(data_charset_name, MY_CS_PRIMARY, 0):
NULL;
@@ -195,7 +195,7 @@ PTABDEF OEMDEF::GetXdef(PGLOBAL g)
// Have the external class do its complete definition
if (!cat->Cbuf) {
// Suballocate a temporary buffer for the entire column section
- cat->Cblen = cat->GetSizeCatInfo("Database", "Colsize", "8K");
+ cat->Cblen = cat->GetSizeCatInfo("Colsize", "8K");
cat->Cbuf = (char*)PlugSubAlloc(g, NULL, cat->Cblen);
} // endif Cbuf
@@ -225,8 +225,8 @@ bool OEMDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
{
void *memp = Cat->Descp;
- Module = Cat->GetStringCatInfo(g, Name, "Module", "");
- Subtype = Cat->GetStringCatInfo(g, Name, "Subtype", Module);
+ Module = Cat->GetStringCatInfo(g, "Module", "");
+ Subtype = Cat->GetStringCatInfo(g, "Subtype", Module);
if (!*Module)
Module = Subtype;
diff --git a/storage/connect/reldef.h b/storage/connect/reldef.h
index 145544881a6..15cdb772294 100644
--- a/storage/connect/reldef.h
+++ b/storage/connect/reldef.h
@@ -70,7 +70,7 @@ class DllExport TABDEF : public RELDEF { /* Logical table descriptor */
int GetPseudo(void) {return Pseudo;}
PSZ GetPath(void)
{return (Database) ? (PSZ)Database : Cat->GetDataPath();}
- bool SepIndex(void) {return Cat->GetSepIndex();}
+ bool SepIndex(void) {return Cat->GetBoolCatInfo("SepIndex", false);}
bool IsReadOnly(void) {return Read_Only;}
virtual AMT GetDefType(void) {return TYPE_AM_TAB;}
virtual PIXDEF GetIndx(void) {return NULL;}
diff --git a/storage/connect/tabdos.cpp b/storage/connect/tabdos.cpp
index 45603b23aa6..81b786c22a4 100644
--- a/storage/connect/tabdos.cpp
+++ b/storage/connect/tabdos.cpp
@@ -160,7 +160,8 @@ bool DOSDEF::DeleteIndexFile(PGLOBAL g, PIXDEF pxdf)
if (!pxdf)
return false; // No index
- sep = Cat->GetSepIndex(); // If true indexes are in separate files
+ // If true indexes are in separate files
+ sep = Cat->GetBoolCatInfo("SepIndex", false);
if (!sep && To_Indx) {
strcpy(g->Message, MSG(NO_RECOV_SPACE));
@@ -231,35 +232,35 @@ bool DOSDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
: (am && (*am == 'B' || *am == 'b')) ? "B"
: (am && !stricmp(am, "DBF")) ? "D" : "V";
- Desc = Fn = Cat->GetStringCatInfo(g, Name, "Filename", NULL);
- Ofn = Cat->GetStringCatInfo(g, Name, "Optname", Fn);
- Cat->GetCharCatInfo(Name, "Recfm", (PSZ)dfm, buf, sizeof(buf));
+ Desc = Fn = Cat->GetStringCatInfo(g, "Filename", NULL);
+ Ofn = Cat->GetStringCatInfo(g, "Optname", Fn);
+ Cat->GetCharCatInfo("Recfm", (PSZ)dfm, buf, sizeof(buf));
Recfm = (toupper(*buf) == 'F') ? RECFM_FIX :
(toupper(*buf) == 'B') ? RECFM_BIN :
(toupper(*buf) == 'D') ? RECFM_DBF : RECFM_VAR;
- Lrecl = Cat->GetIntCatInfo(Name, "Lrecl", 0);
+ Lrecl = Cat->GetIntCatInfo("Lrecl", 0);
if (Recfm != RECFM_DBF)
- Compressed = Cat->GetIntCatInfo(Name, "Compressed", 0);
+ Compressed = Cat->GetIntCatInfo("Compressed", 0);
- Mapped = Cat->GetBoolCatInfo(Name, "Mapped", map);
- Block = Cat->GetIntCatInfo(Name, "Blocks", 0);
- Last = Cat->GetIntCatInfo(Name, "Last", 0);
- Ending = Cat->GetIntCatInfo(Name, "Ending", CRLF);
+ Mapped = Cat->GetBoolCatInfo("Mapped", map);
+ Block = Cat->GetIntCatInfo("Blocks", 0);
+ Last = Cat->GetIntCatInfo("Last", 0);
+ Ending = Cat->GetIntCatInfo("Ending", CRLF);
if (Recfm == RECFM_FIX || Recfm == RECFM_BIN) {
int defhuge = (Cat->GetDefHuge()) ? 1 : 0;
- Huge = (Cat->GetIntCatInfo(Name, "Huge", defhuge) != 0);
- Padded = (Cat->GetIntCatInfo(Name, "Padded", 0) != 0);
- Blksize = Cat->GetIntCatInfo(Name, "Blksize", 0);
- Eof = (Cat->GetIntCatInfo(Name, "EOF", 0) != 0);
+ Huge = (Cat->GetIntCatInfo("Huge", defhuge) != 0);
+ Padded = (Cat->GetIntCatInfo("Padded", 0) != 0);
+ Blksize = Cat->GetIntCatInfo("Blksize", 0);
+ Eof = (Cat->GetIntCatInfo("EOF", 0) != 0);
} else if (Recfm == RECFM_DBF) {
- Maxerr = Cat->GetIntCatInfo(Name, "Maxerr", 0);
- Accept = (Cat->GetIntCatInfo(Name, "Accept", 0) != 0);
- ReadMode = Cat->GetIntCatInfo(Name, "Readmode", 0);
+ Maxerr = Cat->GetIntCatInfo("Maxerr", 0);
+ Accept = (Cat->GetIntCatInfo("Accept", 0) != 0);
+ ReadMode = Cat->GetIntCatInfo("Readmode", 0);
} else // (Recfm == RECFM_VAR)
- AvgLen = Cat->GetIntCatInfo(Name, "Avglen", 0);
+ AvgLen = Cat->GetIntCatInfo("Avglen", 0);
// Ignore wrong Index definitions for catalog commands
return (Cat->GetIndexInfo(g, this) /*&& !Cat->GetCatFnc()*/);
diff --git a/storage/connect/tabfmt.cpp b/storage/connect/tabfmt.cpp
index a046fe771e5..3533dc366c0 100644
--- a/storage/connect/tabfmt.cpp
+++ b/storage/connect/tabfmt.cpp
@@ -417,10 +417,10 @@ bool CSVDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
if (DOSDEF::DefineAM(g, "CSV", poff))
return true;
- Cat->GetCharCatInfo(Name, "Separator", ",", buf, sizeof(buf));
+ Cat->GetCharCatInfo("Separator", ",", buf, sizeof(buf));
Sep = (strlen(buf) == 2 && buf[0] == '\\' && buf[1] == 't') ? '\t' : *buf;
- Quoted = Cat->GetIntCatInfo(Name, "Quoted", -1);
- Cat->GetCharCatInfo(Name, "Qchar", "", buf, sizeof(buf));
+ Quoted = Cat->GetIntCatInfo("Quoted", -1);
+ Cat->GetCharCatInfo("Qchar", "", buf, sizeof(buf));
Qot = *buf;
if (Qot && Quoted < 0)
@@ -429,9 +429,9 @@ bool CSVDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
Qot = '"';
Fmtd = (!Sep || (am && (*am == 'F' || *am == 'f')));
- Header = (Cat->GetIntCatInfo(Name, "Header", 0) != 0);
- Maxerr = Cat->GetIntCatInfo(Name, "Maxerr", 0);
- Accept = (Cat->GetIntCatInfo(Name, "Accept", 0) != 0);
+ Header = (Cat->GetIntCatInfo("Header", 0) != 0);
+ Maxerr = Cat->GetIntCatInfo("Maxerr", 0);
+ Accept = (Cat->GetIntCatInfo("Accept", 0) != 0);
return false;
} // end of DefineAM
diff --git a/storage/connect/tabmul.cpp b/storage/connect/tabmul.cpp
index 2715ced81be..5fe18ef5b1d 100644
--- a/storage/connect/tabmul.cpp
+++ b/storage/connect/tabmul.cpp
@@ -560,9 +560,9 @@ void TDBMUL::CloseDB(PGLOBAL g)
/***********************************************************************/
bool DIRDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
{
- Desc = Fn = Cat->GetStringCatInfo(g, Name, "Filename", NULL);
- Incl = (Cat->GetIntCatInfo(Name, "Subdir", 0) != 0);
- Huge = (Cat->GetIntCatInfo(Name, "Huge", 0) != 0);
+ Desc = Fn = Cat->GetStringCatInfo(g, "Filename", NULL);
+ Incl = (Cat->GetIntCatInfo("Subdir", 0) != 0);
+ Huge = (Cat->GetIntCatInfo("Huge", 0) != 0);
return false;
} // end of DefineAM
diff --git a/storage/connect/tabmysql.cpp b/storage/connect/tabmysql.cpp
index f4558b28262..7b38cc8ab1b 100644
--- a/storage/connect/tabmysql.cpp
+++ b/storage/connect/tabmysql.cpp
@@ -249,7 +249,7 @@ bool MYSQLDEF::ParseURL(PGLOBAL g, char *url)
Hostname = "localhost";
if (!Database || !*Database)
- Database = Cat->GetStringCatInfo(g, Name, "Database", "*");
+ Database = Cat->GetStringCatInfo(g, "Database", "*");
if (!Tabname || !*Tabname)
Tabname = Name;
@@ -272,24 +272,24 @@ bool MYSQLDEF::ParseURL(PGLOBAL g, char *url)
/***********************************************************************/
bool MYSQLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
{
- char *url = Cat->GetStringCatInfo(g, Name, "Connect", NULL);
+ char *url = Cat->GetStringCatInfo(g, "Connect", NULL);
Desc = "MySQL Table";
if (!url || !*url) {
// Not using the connection URL
- Hostname = Cat->GetStringCatInfo(g, Name, "Host", "localhost");
- Database = Cat->GetStringCatInfo(g, Name, "Database", "*");
- Tabname = Cat->GetStringCatInfo(g, Name, "Name", Name); // Deprecated
- Tabname = Cat->GetStringCatInfo(g, Name, "Tabname", Tabname);
- Username = Cat->GetStringCatInfo(g, Name, "User", "root");
- Password = Cat->GetStringCatInfo(g, Name, "Password", NULL);
- Portnumber = Cat->GetIntCatInfo(Name, "Port", MYSQL_PORT);
+ Hostname = Cat->GetStringCatInfo(g, "Host", "localhost");
+ Database = Cat->GetStringCatInfo(g, "Database", "*");
+ Tabname = Cat->GetStringCatInfo(g, "Name", Name); // Deprecated
+ Tabname = Cat->GetStringCatInfo(g, "Tabname", Tabname);
+ Username = Cat->GetStringCatInfo(g, "User", "root");
+ Password = Cat->GetStringCatInfo(g, "Password", NULL);
+ Portnumber = Cat->GetIntCatInfo("Port", MYSQL_PORT);
} else if (ParseURL(g, url))
return TRUE;
- Bind = !!Cat->GetIntCatInfo(Name, "Bind", 0);
- Delayed = !!Cat->GetIntCatInfo(Name, "Delayed", 0);
+ Bind = !!Cat->GetIntCatInfo("Bind", 0);
+ Delayed = !!Cat->GetIntCatInfo("Delayed", 0);
return FALSE;
} // end of DefineAM
diff --git a/storage/connect/tabodbc.cpp b/storage/connect/tabodbc.cpp
index b50e24fcbd9..5bbc9effa92 100644
--- a/storage/connect/tabodbc.cpp
+++ b/storage/connect/tabodbc.cpp
@@ -102,15 +102,15 @@ bool ODBCDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
{
int dop = ODBConn::noOdbcDialog; // Default for options
- Desc = Connect = Cat->GetStringCatInfo(g, Name, "Connect", "");
- Tabname = Cat->GetStringCatInfo(g, Name, "Name",
+ Desc = Connect = Cat->GetStringCatInfo(g, "Connect", "");
+ Tabname = Cat->GetStringCatInfo(g, "Name",
(Catfunc & (FNC_TABLE | FNC_COL)) ? NULL : Name);
- Tabname = Cat->GetStringCatInfo(g, Name, "Tabname", Tabname);
- Tabowner = Cat->GetStringCatInfo(g, Name, "Owner", "");
- Tabqual = Cat->GetStringCatInfo(g, Name, "Qualifier", "");
- Qchar = Cat->GetStringCatInfo(g, Name, "Qchar", "");
- Catver = Cat->GetIntCatInfo(Name, "Catver", 2);
- Options = Cat->GetIntCatInfo(Name, "Options", dop);
+ Tabname = Cat->GetStringCatInfo(g, "Tabname", Tabname);
+ Tabowner = Cat->GetStringCatInfo(g, "Owner", "");
+ Tabqual = Cat->GetStringCatInfo(g, "Qualifier", "");
+ Qchar = Cat->GetStringCatInfo(g, "Qchar", "");
+ Catver = Cat->GetIntCatInfo("Catver", 2);
+ Options = Cat->GetIntCatInfo("Options", dop);
Pseudo = 2; // FILID is Ok but not ROWID
return false;
} // end of DefineAM
diff --git a/storage/connect/tabsys.cpp b/storage/connect/tabsys.cpp
index 4cb4000bd28..4304f2421a6 100644
--- a/storage/connect/tabsys.cpp
+++ b/storage/connect/tabsys.cpp
@@ -83,10 +83,10 @@ bool INIDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
else
strcpy(ds, "I"); // INI tables default to I(ni)
- Fn = Cat->GetStringCatInfo(g, Name, "Filename", NULL);
- Cat->GetCharCatInfo(Name, "Subtype", ds, buf, sizeof(buf));
+ Fn = Cat->GetStringCatInfo(g, "Filename", NULL);
+ Cat->GetCharCatInfo("Subtype", ds, buf, sizeof(buf));
Subtype = toupper(*buf);
- Cat->GetCharCatInfo(Name, "Layout", "C", buf, sizeof(buf));
+ Cat->GetCharCatInfo("Layout", "C", buf, sizeof(buf));
Layout = toupper(*buf);
switch (Subtype) {
@@ -94,13 +94,13 @@ bool INIDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
case 'C':
case 'T':
// Restricted table
- Xname = Cat->GetStringCatInfo(g, Name, "Name", "?");
+ Xname = Cat->GetStringCatInfo(g, "Name", "?");
if (!strcmp(Xname, "?"))
Xname = NULL;
if (*Fn == '?')
- Fn = Cat->GetStringCatInfo(g, Name, "Database", "?");
+ Fn = Cat->GetStringCatInfo(g, "Database", "?");
if (*Fn != '?') {
char *p = (char*)PlugSubAlloc(g, memp, _MAX_PATH);
@@ -125,7 +125,7 @@ bool INIDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
return true;
} // endif Fn
- Ln = Cat->GetSizeCatInfo((char*)Name, "Secsize", "8K");
+ Ln = Cat->GetSizeCatInfo("Secsize", "8K");
break;
default:
sprintf(g->Message, MSG(INV_SUBTYPE), buf);
diff --git a/storage/connect/tabtbl.cpp b/storage/connect/tabtbl.cpp
index 4a02b7ac271..b79858203da 100644
--- a/storage/connect/tabtbl.cpp
+++ b/storage/connect/tabtbl.cpp
@@ -98,8 +98,8 @@ bool TBLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
char *tablist, *dbname;
Desc = "Table list table";
- tablist = Cat->GetStringCatInfo(g, Name, "Tablist", "");
- dbname = Cat->GetStringCatInfo(g, Name, "Database", NULL);
+ tablist = Cat->GetStringCatInfo(g, "Tablist", "");
+ dbname = Cat->GetStringCatInfo(g, "Database", NULL);
Ntables = 0;
if (*tablist) {
@@ -140,8 +140,8 @@ bool TBLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
} // endfor pdb
- Maxerr = Cat->GetIntCatInfo(Name, "Maxerr", 0);
- Accept = (Cat->GetBoolCatInfo(Name, "Accept", 0) != 0);
+ Maxerr = Cat->GetIntCatInfo("Maxerr", 0);
+ Accept = (Cat->GetBoolCatInfo("Accept", 0) != 0);
} // endif fsec || tablist
return FALSE;
diff --git a/storage/connect/tabvct.cpp b/storage/connect/tabvct.cpp
index 29e0b89ebd3..068ac7190f8 100644
--- a/storage/connect/tabvct.cpp
+++ b/storage/connect/tabvct.cpp
@@ -94,9 +94,9 @@ bool VCTDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
{
DOSDEF::DefineAM(g, "BIN", poff);
- Estimate = Cat->GetIntCatInfo(Name, "Estimate", 0);
- Split = Cat->GetIntCatInfo(Name, "Split", (Estimate) ? 0 : 1);
- Header = Cat->GetIntCatInfo(Name, "Header", 0);
+ Estimate = Cat->GetIntCatInfo("Estimate", 0);
+ Split = Cat->GetIntCatInfo("Split", (Estimate) ? 0 : 1);
+ Header = Cat->GetIntCatInfo("Header", 0);
// CONNECT must have Block/Last info for VEC tables
if (Estimate && !Split && !Header)
@@ -107,7 +107,7 @@ bool VCTDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
// For packed files the logical record length is calculated in poff
if (poff != Lrecl) {
Lrecl = poff;
- Cat->SetIntCatInfo(Name, "Lrecl", poff);
+ Cat->SetIntCatInfo("Lrecl", poff);
} // endif poff
Padded = false;
diff --git a/storage/connect/tabwmi.cpp b/storage/connect/tabwmi.cpp
index 789994ad8f7..d89d61dc11c 100644
--- a/storage/connect/tabwmi.cpp
+++ b/storage/connect/tabwmi.cpp
@@ -337,8 +337,8 @@ PQRYRES WMIColumns(PGLOBAL g, char *nsp, char *cls, bool info)
/***********************************************************************/
bool WMIDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
{
- Nspace = Cat->GetStringCatInfo(g, Name, "Namespace", "Root\\CimV2");
- Wclass = Cat->GetStringCatInfo(g, Name, "Class",
+ Nspace = Cat->GetStringCatInfo(g, "Namespace", "Root\\CimV2");
+ Wclass = Cat->GetStringCatInfo(g, "Class",
(!stricmp(Nspace, "root\\cimv2") ? "ComputerSystemProduct" :
!stricmp(Nspace, "root\\cli") ? "Msft_CliAlias" : ""));
@@ -351,7 +351,7 @@ bool WMIDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
} // endif Wclass
if (Catfunc == FNC_NO)
- Ems = Cat->GetIntCatInfo(Name, "Estimate", 100);
+ Ems = Cat->GetIntCatInfo("Estimate", 100);
return false;
} // end of DefineAM
diff --git a/storage/connect/tabxml.cpp b/storage/connect/tabxml.cpp
index 050902b9560..cb593d39857 100644
--- a/storage/connect/tabxml.cpp
+++ b/storage/connect/tabxml.cpp
@@ -92,21 +92,21 @@ bool XMLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
//void *memp = Cat->GetDescp();
//PSZ dbfile = Cat->GetDescFile();
- Fn = Cat->GetStringCatInfo(g, Name, "Filename", NULL);
- Encoding = Cat->GetStringCatInfo(g, Name, "Encoding", "UTF-8");
+ Fn = Cat->GetStringCatInfo(g, "Filename", NULL);
+ Encoding = Cat->GetStringCatInfo(g, "Encoding", "UTF-8");
if (*Fn == '?') {
strcpy(g->Message, MSG(MISSING_FNAME));
return true;
} // endif fn
- if ((signed)Cat->GetIntCatInfo(Name, "Flag", -1) != -1) {
+ if ((signed)Cat->GetIntCatInfo("Flag", -1) != -1) {
strcpy(g->Message, MSG(DEPREC_FLAG));
return true;
} // endif flag
defrow = defcol = "";
- Cat->GetCharCatInfo(Name, "Coltype", "", buf, sizeof(buf));
+ Cat->GetCharCatInfo("Coltype", "", buf, sizeof(buf));
switch (toupper(*buf)) {
case 'A': // Attribute
@@ -133,32 +133,39 @@ bool XMLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
return true;
} // endswitch typname
- Tabname = Cat->GetStringCatInfo(g, Name, "Name", Name); // Deprecated
- Tabname = Cat->GetStringCatInfo(g, Name, "Table_name", Tabname);
- Rowname = Cat->GetStringCatInfo(g, Name, "Rownode", defrow);
- Colname = Cat->GetStringCatInfo(g, Name, "Colnode", defcol);
- Mulnode = Cat->GetStringCatInfo(g, Name, "Mulnode", "");
- XmlDB = Cat->GetStringCatInfo(g, Name, "XmlDB", "");
- Nslist = Cat->GetStringCatInfo(g, Name, "Nslist", "");
- DefNs = Cat->GetStringCatInfo(g, Name, "DefNs", "");
- Limit = Cat->GetIntCatInfo(Name, "Limit", 2);
- Xpand = (Cat->GetIntCatInfo(Name, "Expand", 0) != 0);
- Header = Cat->GetIntCatInfo(Name, "Header", 0);
- Cat->GetCharCatInfo(Name, "Xmlsup", "*", buf, sizeof(buf));
-
- if (*buf == '*') // Try the old (deprecated) option
- Cat->GetCharCatInfo(Name, "Method", "*", buf, sizeof(buf));
-
- if (*buf == '*') // Is there a default for the database?
- Cat->GetCharCatInfo("Database", "Defxml", XMLSUP,
- buf, sizeof(buf));
+ Tabname = Cat->GetStringCatInfo(g, "Name", Name); // Deprecated
+ Tabname = Cat->GetStringCatInfo(g, "Table_name", Tabname);
+ Rowname = Cat->GetStringCatInfo(g, "Rownode", defrow);
+ Colname = Cat->GetStringCatInfo(g, "Colnode", defcol);
+ Mulnode = Cat->GetStringCatInfo(g, "Mulnode", "");
+ XmlDB = Cat->GetStringCatInfo(g, "XmlDB", "");
+ Nslist = Cat->GetStringCatInfo(g, "Nslist", "");
+ DefNs = Cat->GetStringCatInfo(g, "DefNs", "");
+ Limit = Cat->GetIntCatInfo("Limit", 2);
+ Xpand = (Cat->GetIntCatInfo("Expand", 0) != 0);
+ Header = Cat->GetIntCatInfo("Header", 0);
+ Cat->GetCharCatInfo("Xmlsup", "*", buf, sizeof(buf));
+
+//if (*buf == '*') // Try the old (deprecated) option
+// Cat->GetCharCatInfo("Method", "*", buf, sizeof(buf));
+
+//if (*buf == '*') // Is there a default for the database?
+// Cat->GetCharCatInfo("Defxml", XMLSUP, buf, sizeof(buf));
// Note that if no support is specified, the default is MS-DOM
- Usedom = (toupper(*buf) == 'M' || toupper(*buf) == 'D');
+ // on Windows and libxml2 otherwise
+ if (*buf == '*')
+#if defined(WIN32)
+ Usedom = true;
+#else // !WIN32
+ Usedom = false;
+#endif // !WIN32
+ else
+ Usedom = (toupper(*buf) == 'M' || toupper(*buf) == 'D');
// Get eventual table node attribute
- Attrib = Cat->GetStringCatInfo(g, Name, "Attribute", "");
- Hdattr = Cat->GetStringCatInfo(g, Name, "HeadAttr", "");
+ Attrib = Cat->GetStringCatInfo(g, "Attribute", "");
+ Hdattr = Cat->GetStringCatInfo(g, "HeadAttr", "");
return false;
} // end of DefineAM
diff --git a/storage/connect/xindex.cpp b/storage/connect/xindex.cpp
index 32c844bb303..434b9030362 100644
--- a/storage/connect/xindex.cpp
+++ b/storage/connect/xindex.cpp
@@ -723,7 +723,7 @@ bool XINDEX::SaveIndex(PGLOBAL g, PIXDEF sxp)
return true;
} // endswitch Ftype
- if (dup->Catalog->GetSepIndex()) {
+ if (dup->Catalog->GetBoolCatInfo("SepIndex", false)) {
// Index is saved in a separate file
#if !defined(UNIX)
char drive[_MAX_DRIVE];