Added default constructors/destructors to allow plugging of (potentially large) memory leaks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -162,6 +162,80 @@ wxDbColFor::~wxDbColFor()
|
|||||||
} // wxDbColFor::~wxDbColFor()
|
} // wxDbColFor::~wxDbColFor()
|
||||||
|
|
||||||
|
|
||||||
|
/********** wxDbColInf Con / Destructor **********/
|
||||||
|
wxDbColInf::wxDbColInf()
|
||||||
|
{
|
||||||
|
catalog[0] = 0;
|
||||||
|
schema[0] = 0;
|
||||||
|
tableName[0] = 0;
|
||||||
|
colName[0] = 0;
|
||||||
|
sqlDataType = 0;
|
||||||
|
typeName[0] = 0;
|
||||||
|
columnSize = 0;
|
||||||
|
bufferLength = 0;
|
||||||
|
decimalDigits = 0;
|
||||||
|
numPrecRadix = 0;
|
||||||
|
nullable = 0;
|
||||||
|
remarks[0] = 0;
|
||||||
|
dbDataType = 0;
|
||||||
|
PkCol = 0;
|
||||||
|
PkTableName[0] = 0;
|
||||||
|
FkCol = 0;
|
||||||
|
FkTableName[0] = 0;
|
||||||
|
pColFor = NULL;
|
||||||
|
} // wxDbColInf::wxDbColFor()
|
||||||
|
|
||||||
|
|
||||||
|
wxDbColInf::~wxDbColInf()
|
||||||
|
{
|
||||||
|
if (pColFor)
|
||||||
|
delete pColFor;
|
||||||
|
pColFor = NULL;
|
||||||
|
} // wxDbColInf::~wxDbColInf()
|
||||||
|
|
||||||
|
|
||||||
|
/********** wxDbTableInf Constructor ********/
|
||||||
|
wxDbTableInf::wxDbTableInf()
|
||||||
|
{
|
||||||
|
tableName[0] = 0;
|
||||||
|
tableType[0] = 0;
|
||||||
|
tableRemarks[0] = 0;
|
||||||
|
numCols = 0;
|
||||||
|
pColInf = NULL;
|
||||||
|
} // wxDbTableInf::wxDbTableFor()
|
||||||
|
|
||||||
|
|
||||||
|
/********** wxDbTableInf Constructor ********/
|
||||||
|
wxDbTableInf::~wxDbTableInf()
|
||||||
|
{
|
||||||
|
if (pColInf)
|
||||||
|
delete [] pColInf;
|
||||||
|
pColInf = NULL;
|
||||||
|
} // wxDbTableInf::~wxDbTableInf()
|
||||||
|
|
||||||
|
|
||||||
|
/********** wxDbInf Constructor *************/
|
||||||
|
wxDbInf::wxDbInf()
|
||||||
|
{
|
||||||
|
catalog[0] = 0;
|
||||||
|
schema[0] = 0;
|
||||||
|
numTables = 0;
|
||||||
|
pTableInf = NULL;
|
||||||
|
} // wxDbInf::wxDbFor()
|
||||||
|
|
||||||
|
|
||||||
|
/********** wxDbInf Destructor *************/
|
||||||
|
wxDbInf::~wxDbInf()
|
||||||
|
{
|
||||||
|
if (pTableInf)
|
||||||
|
delete [] pTableInf;
|
||||||
|
pTableInf = NULL;
|
||||||
|
} // wxDbInf::~wxDbInf()
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************/
|
||||||
|
|
||||||
|
|
||||||
int wxDbColFor::Format(int Nation,int dbDataType,SWORD sqlDataType,short columnSize,short decimalDigits)
|
int wxDbColFor::Format(int Nation,int dbDataType,SWORD sqlDataType,short columnSize,short decimalDigits)
|
||||||
{
|
{
|
||||||
// ----------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------
|
||||||
@@ -432,18 +506,20 @@ bool wxDb::Open(char *Dsn, char *Uid, char *AuthStr)
|
|||||||
|
|
||||||
// Integer
|
// Integer
|
||||||
if (!getDataTypeInfo(SQL_INTEGER, typeInfInteger))
|
if (!getDataTypeInfo(SQL_INTEGER, typeInfInteger))
|
||||||
// If SQL_INTEGER is not supported, use the floating point
|
{
|
||||||
// data type to store integers as well as floats
|
// If SQL_INTEGER is not supported, use the floating point
|
||||||
if (!getDataTypeInfo(typeInfFloat.FsqlType, typeInfInteger))
|
// data type to store integers as well as floats
|
||||||
|
if (!getDataTypeInfo(typeInfFloat.FsqlType, typeInfInteger))
|
||||||
return(FALSE);
|
return(FALSE);
|
||||||
else
|
else
|
||||||
typeInfInteger.FsqlType = typeInfFloat.FsqlType;
|
typeInfInteger.FsqlType = typeInfFloat.FsqlType;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
typeInfInteger.FsqlType = SQL_INTEGER;
|
typeInfInteger.FsqlType = SQL_INTEGER;
|
||||||
|
|
||||||
// Date/Time
|
// Date/Time
|
||||||
if (Dbms() != dbmsDBASE)
|
if (Dbms() != dbmsDBASE)
|
||||||
{
|
{
|
||||||
if (! getDataTypeInfo(SQL_TIMESTAMP,typeInfDate))
|
if (! getDataTypeInfo(SQL_TIMESTAMP,typeInfDate))
|
||||||
return(FALSE);
|
return(FALSE);
|
||||||
else
|
else
|
||||||
@@ -2452,10 +2528,6 @@ wxDbInf *wxDb::GetCatalog(char *userID)
|
|||||||
|
|
||||||
//-------------------------------------------------------------
|
//-------------------------------------------------------------
|
||||||
pDbInf = new wxDbInf; // Create the Database Arrray
|
pDbInf = new wxDbInf; // Create the Database Arrray
|
||||||
pDbInf->catalog[0] = 0;
|
|
||||||
pDbInf->schema[0] = 0;
|
|
||||||
pDbInf->numTables = 0; // Counter for Tables
|
|
||||||
pDbInf->pTableInf = NULL; // Array of Tables
|
|
||||||
//-------------------------------------------------------------
|
//-------------------------------------------------------------
|
||||||
// Table Information
|
// Table Information
|
||||||
// Pass 1 - Determine how many Tables there are.
|
// Pass 1 - Determine how many Tables there are.
|
||||||
@@ -2511,14 +2583,6 @@ wxDbInf *wxDb::GetCatalog(char *userID)
|
|||||||
if (pDbInf->pTableInf == NULL) // Has the Table Array been created
|
if (pDbInf->pTableInf == NULL) // Has the Table Array been created
|
||||||
{ // no, then create the Array
|
{ // no, then create the Array
|
||||||
pDbInf->pTableInf = new wxDbTableInf[pDbInf->numTables];
|
pDbInf->pTableInf = new wxDbTableInf[pDbInf->numTables];
|
||||||
for (noTab=0;noTab<pDbInf->numTables;noTab++)
|
|
||||||
{
|
|
||||||
(pDbInf->pTableInf+noTab)->tableName[0] = 0;
|
|
||||||
(pDbInf->pTableInf+noTab)->tableType[0] = 0;
|
|
||||||
(pDbInf->pTableInf+noTab)->tableRemarks[0] = 0;
|
|
||||||
(pDbInf->pTableInf+noTab)->numCols = 0;
|
|
||||||
(pDbInf->pTableInf+noTab)->pColInf = NULL;
|
|
||||||
}
|
|
||||||
noTab = 0;
|
noTab = 0;
|
||||||
} // if (pDbInf->pTableInf == NULL) // Has the Table Array been created
|
} // if (pDbInf->pTableInf == NULL) // Has the Table Array been created
|
||||||
|
|
||||||
|
@@ -1100,7 +1100,7 @@ bool wxDbTable::CreateTable(bool attemptDrop)
|
|||||||
|
|
||||||
// Commit the transaction and close the cursor
|
// Commit the transaction and close the cursor
|
||||||
if (!pDb->CommitTrans())
|
if (!pDb->CommitTrans())
|
||||||
rEturn(FALSE);
|
return(FALSE);
|
||||||
if (!CloseCursor(hstmt))
|
if (!CloseCursor(hstmt))
|
||||||
return(FALSE);
|
return(FALSE);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user