X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2c257434c3a44066bac6f25fb502d3e165232e43..e09526489246ee620c62c1b5673d294fff89b736:/src/common/db.cpp diff --git a/src/common/db.cpp b/src/common/db.cpp index a4717bd380..065a0ac9d5 100644 --- a/src/common/db.cpp +++ b/src/common/db.cpp @@ -53,7 +53,9 @@ #include "wx/object.h" #include "wx/list.h" #include "wx/utils.h" - #include "wx/msgdlg.h" + #if wxUSE_GUI + #include "wx/msgdlg.h" + #endif #include "wx/log.h" #endif #include "wx/filefn.h" @@ -113,7 +115,7 @@ typedef struct wxDbConnectInf::wxDbConnectInf() { Henv = 0; - freeHenvOnDestroy = false; + freeHenvOnDestroy = FALSE; Initialize(); } // Constructor @@ -125,7 +127,7 @@ wxDbConnectInf::wxDbConnectInf(HENV henv, const wxString &dsn, const wxString &u const wxString &fileType, const wxString &description) { Henv = 0; - freeHenvOnDestroy = false; + freeHenvOnDestroy = FALSE; Initialize(); @@ -156,7 +158,7 @@ wxDbConnectInf::~wxDbConnectInf() /********** wxDbConnectInf::Initialize() **********/ bool wxDbConnectInf::Initialize() { - freeHenvOnDestroy = false; + freeHenvOnDestroy = FALSE; if (freeHenvOnDestroy && Henv) FreeHenv(); @@ -169,7 +171,7 @@ bool wxDbConnectInf::Initialize() FileType.Empty(); DefaultDir.Empty(); - return true; + return TRUE; } // wxDbConnectInf::Initialize() @@ -184,12 +186,12 @@ bool wxDbConnectInf::AllocHenv() if (SQLAllocEnv(&Henv) != SQL_SUCCESS) { wxLogDebug(wxT("A problem occured while trying to get a connection to the data source")); - return false; + return FALSE; } - freeHenvOnDestroy = true; + freeHenvOnDestroy = TRUE; - return true; + return TRUE; } // wxDbConnectInf::AllocHenv() @@ -201,7 +203,7 @@ void wxDbConnectInf::FreeHenv() SQLFreeEnv(Henv); Henv = 0; - freeHenvOnDestroy = false; + freeHenvOnDestroy = FALSE; } // wxDbConnectInf::FreeHenv() @@ -347,7 +349,7 @@ int wxDbColFor::Format(int Nation, int dbDataType, SWORD sqlDataType, s_Field.Printf(wxT("Unknown Format(%d)-SQL(%d)"),dbDataType,sqlDataType); // break; }; - return true; + return TRUE; } // wxDbColFor::Format() @@ -389,7 +391,7 @@ bool wxDbColInf::Initialize() FkTableName[0] = 0; pColFor = NULL; - return true; + return TRUE; } // wxDbColInf::Initialize() @@ -417,7 +419,7 @@ bool wxDbTableInf::Initialize() numCols = 0; pColInf = NULL; - return true; + return TRUE; } // wxDbTableInf::Initialize() @@ -445,7 +447,7 @@ bool wxDbInf::Initialize() numTables = 0; pTableInf = NULL; - return true; + return TRUE; } // wxDbInf::Initialize() @@ -526,7 +528,7 @@ void wxDb::initialize() typeInfBlob.MaximumScale = 0; // Error reporting is turned OFF by default - silent = true; + silent = TRUE; // Allocate a data source connection handle if (SQLAllocConnect(henv, &hdbc) != SQL_SUCCESS) @@ -536,8 +538,8 @@ void wxDb::initialize() DB_STATUS = 0; // Mark database as not open as of yet - dbIsOpen = false; - dbIsCached = false; + dbIsOpen = FALSE; + dbIsCached = FALSE; } // wxDb::initialize() @@ -601,15 +603,6 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt (UCHAR FAR *) uid.c_str(), SQL_NTS, (UCHAR FAR *) authStr.c_str(), SQL_NTS); -/* - if (retcode == SQL_SUCCESS_WITH_INFO) - DispAllErrors(henv, hdbc); - else if (retcode != SQL_SUCCESS) - return(DispAllErrors(henv, hdbc)); - - if (retcode == SQL_ERROR) - return(DispAllErrors(henv, hdbc)); -*/ if ((retcode != SQL_SUCCESS) && (retcode != SQL_SUCCESS_WITH_INFO)) return(DispAllErrors(henv, hdbc)); @@ -623,7 +616,7 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt */ // Mark database as open - dbIsOpen = true; + dbIsOpen = TRUE; // Allocate a statement handle for the database connection if (SQLAllocStmt(hdbc, &hstmt) != SQL_SUCCESS) @@ -631,11 +624,11 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt // Set Connection Options if (!setConnectionOptions()) - return(false); + return(FALSE); // Query the data source for inf. about itself if (!getDbInfo()) - return(false); + return(FALSE); // Query the data source regarding data type information @@ -681,7 +674,7 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt // VARCHAR = Variable length character string if (!getDataTypeInfo(SQL_VARCHAR, typeInfVarchar)) if (!getDataTypeInfo(SQL_CHAR, typeInfVarchar)) - return(false); + return(FALSE); else typeInfVarchar.FsqlType = SQL_CHAR; else @@ -693,7 +686,7 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt if (!getDataTypeInfo(SQL_FLOAT,typeInfFloat)) if (!getDataTypeInfo(SQL_DECIMAL,typeInfFloat)) if (!getDataTypeInfo(SQL_NUMERIC,typeInfFloat)) - return(false); + return(FALSE); else typeInfFloat.FsqlType = SQL_NUMERIC; else @@ -711,7 +704,7 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt // If SQL_INTEGER is not supported, use the floating point // data type to store integers as well as floats if (!getDataTypeInfo(typeInfFloat.FsqlType, typeInfInteger)) - return(false); + return(FALSE); else typeInfInteger.FsqlType = typeInfFloat.FsqlType; } @@ -722,14 +715,14 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt if (Dbms() != dbmsDBASE) { if (!getDataTypeInfo(SQL_TIMESTAMP,typeInfDate)) - return(false); + return(FALSE); else typeInfDate.FsqlType = SQL_TIMESTAMP; } else { if (!getDataTypeInfo(SQL_DATE,typeInfDate)) - return(false); + return(FALSE); else typeInfDate.FsqlType = SQL_DATE; } @@ -737,7 +730,7 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt if (!getDataTypeInfo(SQL_LONGVARBINARY, typeInfBlob)) { if (!getDataTypeInfo(SQL_VARBINARY,typeInfBlob)) - return(false); + return(FALSE); else typeInfBlob.FsqlType = SQL_VARBINARY; } @@ -756,7 +749,7 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt #endif // Completed Successfully - return(true); + return(TRUE); } // wxDb::Open() @@ -807,7 +800,7 @@ bool wxDb::Open(wxDb *copyDb) */ // Mark database as open - dbIsOpen = true; + dbIsOpen = TRUE; // Allocate a statement handle for the database connection if (SQLAllocStmt(hdbc, &hstmt) != SQL_SUCCESS) @@ -815,7 +808,7 @@ bool wxDb::Open(wxDb *copyDb) // Set Connection Options if (!setConnectionOptions()) - return(false); + return(FALSE); // Instead of Querying the data source for info about itself, it can just be copied // from the wxDb instance that was passed in (copyDb). @@ -896,7 +889,7 @@ bool wxDb::Open(wxDb *copyDb) #endif // Completed Successfully - return(true); + return(TRUE); } // wxDb::Open() 2 @@ -963,7 +956,7 @@ bool wxDb::setConnectionOptions(void) #endif // Completed Successfully - return(true); + return(TRUE); } // wxDb::setConnectionOptions() @@ -1273,7 +1266,7 @@ bool wxDb::getDbInfo(void) #endif // Completed Successfully - return(true); + return(TRUE); } // wxDb::getDbInfo() @@ -1302,7 +1295,7 @@ bool wxDb::getDataTypeInfo(SWORD fSqlType, wxDbSqlTypeInfo &structSQLTypeInfo) #endif DispAllErrors(henv, hdbc, hstmt); SQLFreeStmt(hstmt, SQL_CLOSE); - return(false); + return(FALSE); } wxChar typeName[DB_TYPE_NAME_LEN+1]; @@ -1358,7 +1351,7 @@ bool wxDb::getDataTypeInfo(SWORD fSqlType, wxDbSqlTypeInfo &structSQLTypeInfo) return(DispAllErrors(henv, hdbc, hstmt)); // Completed Successfully - return(true); + return(TRUE); } // wxDb::getDataTypeInfo() @@ -1403,7 +1396,7 @@ void wxDb::Close(void) { s.Printf(wxT("(%-20s) tableID:[%6lu] pDb:[%p]"), tiu->tableName,tiu->tableID,tiu->pDb); s2.Printf(wxT("Orphaned found using pDb:[%p]"),this); - wxLogDebug (s,s2); + wxLogDebug (s.c_str(),s2.c_str()); } pNode = pNode->Next(); } @@ -1415,7 +1408,7 @@ void wxDb::Close(void) wxStrcpy(DBerrorList[i], errorList[i]); dbmsType = dbmsUNIDENTIFIED; - dbIsOpen = false; + dbIsOpen = FALSE; } // wxDb::Close() @@ -1431,7 +1424,7 @@ bool wxDb::CommitTrans(void) } // Completed successfully - return(true); + return(TRUE); } // wxDb::CommitTrans() @@ -1444,7 +1437,7 @@ bool wxDb::RollbackTrans(void) return(DispAllErrors(henv, hdbc)); // Completed successfully - return(true); + return(TRUE); } // wxDb::RollbackTrans() @@ -1461,7 +1454,7 @@ bool wxDb::DispAllErrors(HENV aHenv, HDBC aHdbc, HSTMT aHstmt) * If in DBDEBUG_CONSOLE mode, the constructed string will be displayed in the console * window and program execution will be paused until the user presses a key. * - * This function always returns a false, so that functions which call this function + * This function always returns a FALSE, so that functions which call this function * can have a line like "return (DispAllErrors(henv, hdbc));" to indicate the failure * of the users request, so that the calling code can then process the error msg log */ @@ -1487,7 +1480,7 @@ bool wxDb::DispAllErrors(HENV aHenv, HDBC aHdbc, HSTMT aHstmt) } } - return(false); // This function always returns false. + return(FALSE); // This function always returns FALSE. } // wxDb::DispAllErrors() @@ -1496,9 +1489,9 @@ bool wxDb::DispAllErrors(HENV aHenv, HDBC aHdbc, HSTMT aHstmt) bool wxDb::GetNextError(HENV aHenv, HDBC aHdbc, HSTMT aHstmt) { if (SQLError(aHenv, aHdbc, aHstmt, (UCHAR FAR *) sqlState, &nativeError, (UCHAR FAR *) errorMsg, SQL_MAX_MESSAGE_LENGTH - 1, &cbErrorMsg) == SQL_SUCCESS) - return(true); + return(TRUE); else - return(false); + return(FALSE); } // wxDb::GetNextError() @@ -1782,7 +1775,7 @@ bool wxDb::Grant(int privileges, const wxString &tableName, const wxString &user } sqlStmt += wxT(" ON "); - sqlStmt += tableName; + sqlStmt += SQLTableName(tableName); sqlStmt += wxT(" TO "); sqlStmt += userList; @@ -1805,7 +1798,7 @@ bool wxDb::CreateView(const wxString &viewName, const wxString &colList, // Drop the view first if (attemptDrop && !DropView(viewName)) - return false; + return FALSE; // Build the create view statement sqlStmt = wxT("CREATE VIEW "); @@ -1836,7 +1829,7 @@ bool wxDb::CreateView(const wxString &viewName, const wxString &colList, bool wxDb::DropView(const wxString &viewName) { /* - * NOTE: This function returns true if the View does not exist, but + * NOTE: This function returns TRUE if the View does not exist, but * only for identified databases. Code will need to be added * below for any other databases when those databases are defined * to handle this situation consistently @@ -1863,16 +1856,16 @@ bool wxDb::DropView(const wxString &viewName) DispNextError(); DispAllErrors(henv, hdbc, hstmt); RollbackTrans(); - return(false); + return(FALSE); } } } // Commit the transaction if (!CommitTrans()) - return(false); + return(FALSE); - return true; + return TRUE; } // wxDb::DropView() @@ -1888,12 +1881,12 @@ bool wxDb::ExecSql(const wxString &pSqlStmt) if (retcode == SQL_SUCCESS || (Dbms() == dbmsDB2 && (retcode == SQL_SUCCESS_WITH_INFO || retcode == SQL_NO_DATA_FOUND))) { - return(true); + return(TRUE); } else { DispAllErrors(henv, hdbc, hstmt); - return(false); + return(FALSE); } } // wxDb::ExecSql() @@ -1903,11 +1896,11 @@ bool wxDb::ExecSql(const wxString &pSqlStmt) bool wxDb::GetNext(void) { if (SQLFetch(hstmt) == SQL_SUCCESS) - return(true); + return(TRUE); else { DispAllErrors(henv, hdbc, hstmt); - return(false); + return(FALSE); } } // wxDb::GetNext() @@ -1920,11 +1913,11 @@ bool wxDb::GetData(UWORD colNo, SWORD cType, PTR pData, SDWORD maxLen, SDWORD FA wxASSERT(cbReturned); if (SQLGetData(hstmt, colNo, cType, pData, maxLen, cbReturned) == SQL_SUCCESS) - return(true); + return(TRUE); else { DispAllErrors(henv, hdbc, hstmt); - return(false); + return(FALSE); } } // wxDb::GetData() @@ -2064,7 +2057,7 @@ int wxDb::GetKeyFields(const wxString &tableName, wxDbColInf* colInf, UWORD noCo } // while SQLFreeStmt(hstmt, SQL_CLOSE); /* Close the cursor (the hstmt is still allocated). */ - return true; + return TRUE; } // wxDb::GetKeyFields() @@ -2685,7 +2678,7 @@ wxDbColInf *wxDb::GetColumns(const wxString &tableName, int *numCols, const wxCh // Build a generic SELECT statement which returns 0 rows wxString Stmt; - Stmt.Printf(wxT("select * from %s where 0=1"), tableName); + Stmt.Printf(wxT("select * from \"%s\" where 0=1"), tableName); // Execute query if (SQLExecDirect(hstmt, (UCHAR FAR *) Stmt.c_str(), SQL_NTS) != SQL_SUCCESS) @@ -2757,7 +2750,7 @@ wxDbColInf *wxDb::GetColumns(const wxString &tableName, int *numCols, const wxCh /********** wxDb::GetColumnCount() **********/ -UWORD wxDb::GetColumnCount(const wxString &tableName, const wxChar *userID) +int wxDb::GetColumnCount(const wxString &tableName, const wxChar *userID) /* * Returns a count of how many columns are in a table. * If an error occurs in computing the number of columns @@ -2978,11 +2971,11 @@ bool wxDb::Catalog(const wxChar *userID, const wxString &fileName) wxChar colName[DB_MAX_COLUMN_NAME_LEN+1]; SWORD sqlDataType; wxChar typeName[30+1]; - SWORD precision, length; + SDWORD precision, length; FILE *fp = fopen(fileName.c_str(),wxT("wt")); if (fp == NULL) - return(false); + return(FALSE); SQLFreeStmt(hstmt, SQL_CLOSE); @@ -3013,15 +3006,19 @@ bool wxDb::Catalog(const wxChar *userID, const wxString &fileName) { DispAllErrors(henv, hdbc, hstmt); fclose(fp); - return(false); + return(FALSE); } wxString outStr; tblNameSave.Empty(); int cnt = 0; - while ((retcode = SQLFetch(hstmt)) == SQL_SUCCESS) + while (TRUE) { + retcode = SQLFetch(hstmt); + if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) + break; + if (wxStrcmp(tblName, tblNameSave.c_str())) { if (cnt) @@ -3042,12 +3039,12 @@ bool wxDb::Catalog(const wxChar *userID, const wxString &fileName) tblNameSave = tblName; } - GetData(3,SQL_C_CHAR, (UCHAR *)tblName, DB_MAX_TABLE_NAME_LEN+1, &cb); - GetData(4,SQL_C_CHAR, (UCHAR *)colName, DB_MAX_COLUMN_NAME_LEN+1,&cb); - GetData(5,SQL_C_SSHORT,(UCHAR *)&sqlDataType,0, &cb); - GetData(6,SQL_C_CHAR, (UCHAR *)typeName, sizeof(typeName), &cb); - GetData(7,SQL_C_SSHORT,(UCHAR *)&precision, 0, &cb); - GetData(8,SQL_C_SSHORT,(UCHAR *)&length, 0, &cb); + GetData(3,SQL_C_CHAR, (UCHAR *) tblName, DB_MAX_TABLE_NAME_LEN+1, &cb); + GetData(4,SQL_C_CHAR, (UCHAR *) colName, DB_MAX_COLUMN_NAME_LEN+1,&cb); + GetData(5,SQL_C_SSHORT,(UCHAR *)&sqlDataType, 0, &cb); + GetData(6,SQL_C_CHAR, (UCHAR *) typeName, sizeof(typeName), &cb); + GetData(7,SQL_C_SLONG, (UCHAR *)&precision, 0, &cb); + GetData(8,SQL_C_SLONG, (UCHAR *)&length, 0, &cb); outStr.Printf(wxT("%-32s %-32s (%04d)%-15s %9d %9d\n"), tblName, colName, sqlDataType, typeName, precision, length); @@ -3055,7 +3052,7 @@ bool wxDb::Catalog(const wxChar *userID, const wxString &fileName) { SQLFreeStmt(hstmt, SQL_CLOSE); fclose(fp); - return(false); + return(FALSE); } cnt++; } @@ -3073,7 +3070,7 @@ bool wxDb::Catalog(const wxChar *userID, const wxString &fileName) bool wxDb::TableExists(const wxString &tableName, const wxChar *userID, const wxString &tablePath) /* - * Table name can refer to a table, view, alias or synonym. Returns true + * Table name can refer to a table, view, alias or synonym. Returns TRUE * if the object exists in the database. This function does not indicate * whether or not the user has privleges to query or perform other functions * on the table. @@ -3150,7 +3147,7 @@ bool wxDb::TableExists(const wxString &tableName, const wxChar *userID, const wx SQLFreeStmt(hstmt, SQL_CLOSE); - return(true); + return(TRUE); } // wxDb::TableExists() @@ -3211,30 +3208,30 @@ bool wxDb::TablePrivileges(const wxString &tableName, const wxString &priv, cons if ((retcode != SQL_SUCCESS) && (retcode != SQL_SUCCESS_WITH_INFO)) return(DispAllErrors(henv, hdbc, hstmt)); - bool failed = false; + bool failed = FALSE; retcode = SQLFetch(hstmt); while (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) { if (SQLGetData(hstmt, 1, SQL_C_CHAR, (UCHAR*) result.tableQual, sizeof(result.tableQual), &cbRetVal) != SQL_SUCCESS) - failed = true; + failed = TRUE; if (!failed && SQLGetData(hstmt, 2, SQL_C_CHAR, (UCHAR*) result.tableOwner, sizeof(result.tableOwner), &cbRetVal) != SQL_SUCCESS) - failed = true; + failed = TRUE; if (!failed && SQLGetData(hstmt, 3, SQL_C_CHAR, (UCHAR*) result.tableName, sizeof(result.tableName), &cbRetVal) != SQL_SUCCESS) - failed = true; + failed = TRUE; if (!failed && SQLGetData(hstmt, 4, SQL_C_CHAR, (UCHAR*) result.grantor, sizeof(result.grantor), &cbRetVal) != SQL_SUCCESS) - failed = true; + failed = TRUE; if (!failed && SQLGetData(hstmt, 5, SQL_C_CHAR, (UCHAR*) result.grantee, sizeof(result.grantee), &cbRetVal) != SQL_SUCCESS) - failed = true; + failed = TRUE; if (!failed && SQLGetData(hstmt, 6, SQL_C_CHAR, (UCHAR*) result.privilege, sizeof(result.privilege), &cbRetVal) != SQL_SUCCESS) - failed = true; + failed = TRUE; if (!failed && SQLGetData(hstmt, 7, SQL_C_CHAR, (UCHAR*) result.grantable, sizeof(result.grantable), &cbRetVal) != SQL_SUCCESS) - failed = true; + failed = TRUE; if (failed) { @@ -3246,35 +3243,63 @@ bool wxDb::TablePrivileges(const wxString &tableName, const wxString &priv, cons result.grantor, result.grantee); #endif - if (UserID.IsSameAs(result.tableOwner,false)) + if (UserID.IsSameAs(result.tableOwner,FALSE)) { SQLFreeStmt(hstmt, SQL_CLOSE); - return true; + return TRUE; } - if (UserID.IsSameAs(result.grantee,false) && + if (UserID.IsSameAs(result.grantee,FALSE) && !wxStrcmp(result.privilege,priv)) { SQLFreeStmt(hstmt, SQL_CLOSE); - return true; + return TRUE; } if (!wxStrcmp(result.grantee,curRole) && !wxStrcmp(result.privilege,priv)) { SQLFreeStmt(hstmt, SQL_CLOSE); - return true; + return TRUE; } retcode = SQLFetch(hstmt); } SQLFreeStmt(hstmt, SQL_CLOSE); - return false; + return FALSE; } // wxDb::TablePrivileges +const wxString wxDb::SQLTableName(const wxChar *tableName) +{ + wxString TableName; + + if (Dbms() == dbmsACCESS) + TableName = '"'; + TableName += tableName; + if (Dbms() == dbmsACCESS) + TableName += '"'; + + return TableName; +} // wxDb::SQLTableName() + + +const wxString wxDb::SQLColumnName(const wxChar *colName) +{ + wxString ColName; + + if (Dbms() == dbmsACCESS) + ColName = '"'; + ColName += colName; + if (Dbms() == dbmsACCESS) + ColName += '"'; + + return ColName; +} // wxDb::SQLColumnName() + + /********** wxDb::SetSqlLogging() **********/ bool wxDb::SetSqlLogging(wxDbSqlLogState state, const wxString &filename, bool append) { @@ -3287,7 +3312,7 @@ bool wxDb::SetSqlLogging(wxDbSqlLogState state, const wxString &filename, bool a { fpSqlLog = fopen(filename, (append ? wxT("at") : wxT("wt"))); if (fpSqlLog == NULL) - return(false); + return(FALSE); } } else // sqlLogOFF @@ -3295,13 +3320,13 @@ bool wxDb::SetSqlLogging(wxDbSqlLogState state, const wxString &filename, bool a if (fpSqlLog) { if (fclose(fpSqlLog)) - return(false); + return(FALSE); fpSqlLog = 0; } } sqlLogState = state; - return(true); + return(TRUE); } // wxDb::SetSqlLogging() @@ -3312,16 +3337,16 @@ bool wxDb::WriteSqlLog(const wxString &logMsg) wxASSERT(logMsg.Length()); if (fpSqlLog == 0 || sqlLogState == sqlLogOFF) - return(false); + return(FALSE); if (fputs(wxT("\n"), fpSqlLog) == EOF) - return(false); + return(FALSE); if (fputs(logMsg, fpSqlLog) == EOF) - return(false); + return(FALSE); if (fputs(wxT("\n"), fpSqlLog) == EOF) - return(false); + return(FALSE); - return(true); + return(TRUE); } // wxDb::WriteSqlLog() @@ -3349,7 +3374,7 @@ wxDBMS wxDb::Dbms(void) * - Does not support the SQL_TIMESTAMP structure * - Supports only one cursor and one connect (apparently? with Microsoft driver only?) * - Does not automatically create the primary index if the 'keyField' param of SetColDef - * is true. The user must create ALL indexes from their program. + * is TRUE. The user must create ALL indexes from their program. * - Table names can only be 8 characters long * - Column names can only be 10 characters long * @@ -3365,7 +3390,7 @@ wxDBMS wxDb::Dbms(void) * * MY_SQL * - If a column is part of the Primary Key, the column cannot be NULL - * - Cannot support selecting for update [::CanSelectForUpdate()]. Always returns false + * - Cannot support selecting for update [::CanSelectForUpdate()]. Always returns FALSE * - Columns that are part of primary or secondary keys must be defined as being NOT NULL * when they are created. Some code is added in ::CreateIndex to try to adjust the * column definition if it is not defined correctly, but it is experimental @@ -3473,7 +3498,7 @@ bool wxDb::ModifyColumn(const wxString &tableName, const wxString &columnName, // Must specify a columnLength if modifying a VARCHAR type column if (dataType == DB_DATA_TYPE_VARCHAR && !columnLength) - return false; + return FALSE; wxString dataTypeName; wxString sqlStmt; @@ -3497,7 +3522,7 @@ bool wxDb::ModifyColumn(const wxString &tableName, const wxString &columnName, dataTypeName = typeInfBlob.TypeName; break; default: - return false; + return FALSE; } // Set the modify or alter syntax depending on the type of database connected to @@ -3510,7 +3535,7 @@ bool wxDb::ModifyColumn(const wxString &tableName, const wxString &columnName, alterSlashModify = "ALTER COLUMN"; break; case dbmsUNIDENTIFIED : - return false; + return FALSE; case dbmsSYBASE_ASA : case dbmsSYBASE_ASE : case dbmsMY_SQL : @@ -3523,7 +3548,7 @@ bool wxDb::ModifyColumn(const wxString &tableName, const wxString &columnName, } // create the SQL statement - sqlStmt.Printf(wxT("ALTER TABLE %s %s %s %s"), tableName.c_str(), alterSlashModify.c_str(), + sqlStmt.Printf(wxT("ALTER TABLE \"%s\" \"%s\" \"%s\" %s"), tableName.c_str(), alterSlashModify.c_str(), columnName.c_str(), dataTypeName.c_str()); // For varchars only, append the size of the column @@ -3568,7 +3593,7 @@ wxDb WXDLLEXPORT *wxDbGetConnection(wxDbConnectInf *pDbConfig, bool FwdOnlyCurso (pList->PtrDb->FwdOnlyCursors() == FwdOnlyCursors) && (!wxStrcmp(pDbConfig->GetDsn(), pList->Dsn))) // Found a free connection { - pList->Free = false; + pList->Free = FALSE; return(pList->PtrDb); } @@ -3598,14 +3623,14 @@ wxDb WXDLLEXPORT *wxDbGetConnection(wxDbConnectInf *pDbConfig, bool FwdOnlyCurso // Initialize new node in the linked list pList->PtrNext = 0; - pList->Free = false; + pList->Free = FALSE; pList->Dsn = pDbConfig->GetDsn(); pList->Uid = pDbConfig->GetUserID(); pList->AuthStr = pDbConfig->GetPassword(); pList->PtrDb = new wxDb(pDbConfig->GetHenv(), FwdOnlyCursors); - bool opened = false; + bool opened = FALSE; if (!matchingDbConnection) opened = pList->PtrDb->Open(pDbConfig->GetDsn(), pDbConfig->GetUserID(), pDbConfig->GetPassword()); @@ -3615,8 +3640,8 @@ wxDb WXDLLEXPORT *wxDbGetConnection(wxDbConnectInf *pDbConfig, bool FwdOnlyCurso // Connect to the datasource if (opened) { - pList->PtrDb->setCached(true); // Prevent a user from deleting a cached connection - pList->PtrDb->SetSqlLogging(SQLLOGstate,SQLLOGfn,true); + pList->PtrDb->setCached(TRUE); // Prevent a user from deleting a cached connection + pList->PtrDb->SetSqlLogging(SQLLOGstate,SQLLOGfn,TRUE); return(pList->PtrDb); } else // Unable to connect, destroy list item @@ -3644,11 +3669,11 @@ bool WXDLLEXPORT wxDbFreeConnection(wxDb *pDb) for (pList = PtrBegDbList; pList; pList = pList->PtrNext) { if (pList->PtrDb == pDb) // Found it, now free it!!! - return (pList->Free = true); + return (pList->Free = TRUE); } // Never found the database object, return failure - return(false); + return(FALSE); } // wxDbFreeConnection() @@ -3664,7 +3689,7 @@ void WXDLLEXPORT wxDbCloseConnections(void) pNext = pList->PtrNext; // Save the pointer to next pList->PtrDb->CommitTrans(); // Commit any open transactions on wxDb object pList->PtrDb->Close(); // Close the wxDb object - pList->PtrDb->setCached(false); // Allows deletion of the wxDb instance + pList->PtrDb->setCached(FALSE); // Allows deletion of the wxDb instance delete pList->PtrDb; // Deletes the wxDb object delete pList; // Deletes the linked list object } @@ -3684,7 +3709,7 @@ int WXDLLEXPORT wxDbConnectionsInUse(void) // Scan the linked list counting db connections that are currently in use for (pList = PtrBegDbList; pList; pList = pList->PtrNext) { - if (pList->Free == false) + if (pList->Free == FALSE) cnt++; } @@ -3696,8 +3721,10 @@ int WXDLLEXPORT wxDbConnectionsInUse(void) /********** wxDbLogExtendedErrorMsg() **********/ // DEBUG ONLY function -const wxChar WXDLLEXPORT *wxDbLogExtendedErrorMsg(const wxChar *userText, wxDb *pDb, - char *ErrFile, int ErrLine) +const wxChar WXDLLEXPORT *wxDbLogExtendedErrorMsg(const wxChar *userText, + wxDb *pDb, + const wxChar *ErrFile, + int ErrLine) { static wxString msg; msg = userText; @@ -3716,7 +3743,7 @@ const wxChar WXDLLEXPORT *wxDbLogExtendedErrorMsg(const wxChar *userText, wxDb * msg.Append (wxT("\nODBC errors:\n")); msg += wxT("\n"); - + // Display errors for this connection int i; for (i = 0; i < DB_MAX_ERROR_HISTORY; i++) @@ -3742,20 +3769,20 @@ const wxChar WXDLLEXPORT *wxDbLogExtendedErrorMsg(const wxChar *userText, wxDb * /********** wxDbSqlLog() **********/ bool wxDbSqlLog(wxDbSqlLogState state, const wxChar *filename) { - bool append = false; + bool append = FALSE; wxDbList *pList; for (pList = PtrBegDbList; pList; pList = pList->PtrNext) { if (!pList->PtrDb->SetSqlLogging(state,filename,append)) - return(false); - append = true; + return(FALSE); + append = TRUE; } SQLLOGstate = state; SQLLOGfn = filename; - return(true); + return(TRUE); } // wxDbSqlLog() @@ -3771,7 +3798,7 @@ int wxDbCreateDataSource(const wxString &driverName, const wxString &dsn, const * ODBC driver must be ODBC 3.0 compliant to use this function */ { - int result = false; + int result = FALSE; //!!!! ONLY FUNCTIONAL UNDER MSW with VC6 !!!! #ifdef __VISUALC__ @@ -3793,7 +3820,7 @@ int wxDbCreateDataSource(const wxString &driverName, const wxString &dsn, const int k; do { - k = setupStr.Find((wxChar)2,true); + k = setupStr.Find((wxChar)2,TRUE); if (k != wxNOT_FOUND) setupStr[(UINT)k] = wxT('\0'); } @@ -3827,14 +3854,14 @@ int wxDbCreateDataSource(const wxString &driverName, const wxString &dsn, const } } else - result = true; + result = TRUE; #else // Using iODBC/unixODBC or some other compiler which does not support the APIs // necessary to use this function, so this function is not supported #ifdef __WXDEBUG__ wxLogDebug(wxT("wxDbCreateDataSource() not available except under VC++/MSW"),wxT("ODBC DEBUG MESSAGE")); #endif - result = false; + result = FALSE; #endif // __VISUALC__ return result; @@ -3845,7 +3872,7 @@ int wxDbCreateDataSource(const wxString &driverName, const wxString &dsn, const /********** wxDbGetDataSource() **********/ bool wxDbGetDataSource(HENV henv, wxChar *Dsn, SWORD DsnMax, wxChar *DsDesc, - SWORD DsDescMax, DWORD direction) + SWORD DsDescMax, UWORD direction) /* * Dsn and DsDesc will contain the data source name and data source * description upon return @@ -3855,9 +3882,9 @@ bool wxDbGetDataSource(HENV henv, wxChar *Dsn, SWORD DsnMax, wxChar *DsDesc, if (SQLDataSources(henv, direction, (UCHAR FAR *) Dsn, DsnMax, &cb1, (UCHAR FAR *) DsDesc, DsDescMax, &cb2) == SQL_SUCCESS) - return(true); + return(TRUE); else - return(false); + return(FALSE); } // wxDbGetDataSource()