mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-01 05:26:45 +08:00
[DB readers] misc fixes found during "datastore down" investigation
* added CEntityFlags::AircraftCategoryEntity in config lists * flag to name * missed initial reading of categories * style
This commit is contained in:
committed by
Mat Sutcliffe
parent
39907bf7ea
commit
0482b9883d
@@ -56,7 +56,8 @@ namespace BlackCore
|
||||
|
||||
// we accept cached data
|
||||
Q_ASSERT_X(!entities.testFlag(CEntityFlags::DbInfoObjectEntity), Q_FUNC_INFO, "Read info objects directly");
|
||||
const bool hasDbInfoObjects = this->hasDbInfoObjects(); // no info objects is not necessarily an error, but indicates a) either data not available (DB down) or b) only caches are used
|
||||
const bool hasDbInfoObjects = this->hasDbInfoObjects(); // no info objects is not necessarily an error, but indicates a) either data not available (DB down) or b) only caches are used
|
||||
// const bool hasSharedInfoObjects = this->hasSharedInfoObjects();
|
||||
CEntityFlags::Entity allEntities = entities;
|
||||
CEntityFlags::Entity cachedEntities = CEntityFlags::NoEntity;
|
||||
CEntityFlags::Entity dbEntities = CEntityFlags::NoEntity;
|
||||
@@ -74,7 +75,7 @@ namespace BlackCore
|
||||
const CDbFlags::DataRetrievalModeFlag rmDbOrSharedFlag = CDbFlags::modeToModeFlag(rm & CDbFlags::DbReadingOrShared);
|
||||
const QString rmDbOrSharedFlagString = CDbFlags::flagToString(rmDbOrSharedFlag);
|
||||
const bool rmDbReadingOrShared = (rmDbOrSharedFlag == CDbFlags::DbReading || rmDbOrSharedFlag == CDbFlags::Shared);
|
||||
const int currentEntityCount = this->getCacheCount(currentEntity);
|
||||
const int currentEntityCount = this->getCacheCount(currentEntity);
|
||||
|
||||
if (rm.testFlag(CDbFlags::Ignore) || rm.testFlag(CDbFlags::Canceled))
|
||||
{
|
||||
@@ -82,7 +83,9 @@ namespace BlackCore
|
||||
}
|
||||
else if (rm.testFlag(CDbFlags::Cached))
|
||||
{
|
||||
// info object comparisons only for: cache + shared or cache + DB data
|
||||
//
|
||||
// !!! info object comparisons only for: cache + shared or cache + DB data
|
||||
//
|
||||
if (hasDbInfoObjects && rmDbReadingOrShared)
|
||||
{
|
||||
// check mode here for consistency
|
||||
@@ -123,7 +126,7 @@ namespace BlackCore
|
||||
else
|
||||
{
|
||||
if (!rmDbReadingOrShared) { CLogMessage(this).info(u"No DB or shared reading for '%1', read mode is: '%2'") << currentEntityName << rmString; }
|
||||
if (!hasDbInfoObjects) { CLogMessage(this).info(u"No DB info objects for '%1', read mode is: '%2'") << currentEntityName << rmString; }
|
||||
if (!hasDbInfoObjects) { CLogMessage(this).info(u"No DB info objects for '%1', read mode is: '%2'") << currentEntityName << rmString; }
|
||||
if (currentEntityCount > 0)
|
||||
{
|
||||
CLogMessage(this).info(u"Cache for '%1' already read, %2 entries") << currentEntityName << currentEntityCount;
|
||||
|
||||
@@ -34,12 +34,12 @@ namespace BlackCore
|
||||
u' ' %
|
||||
CEntityFlags::flagToString(this->getEntities()) %
|
||||
u' ' %
|
||||
this->m_cacheLifetime.toQString(i18n);
|
||||
m_cacheLifetime.toQString(i18n);
|
||||
}
|
||||
|
||||
CEntityFlags::Entity CDatabaseReaderConfig::getEntities() const
|
||||
{
|
||||
return static_cast<CEntityFlags::Entity>(this->m_entities);
|
||||
return static_cast<CEntityFlags::Entity>(m_entities);
|
||||
}
|
||||
|
||||
bool CDatabaseReaderConfig::supportsEntities(CEntityFlags::Entity entities) const
|
||||
@@ -52,19 +52,19 @@ namespace BlackCore
|
||||
|
||||
CDbFlags::DataRetrievalMode CDatabaseReaderConfig::getRetrievalMode() const
|
||||
{
|
||||
return static_cast<CDbFlags::DataRetrievalMode>(this->m_retrievalMode);
|
||||
return static_cast<CDbFlags::DataRetrievalMode>(m_retrievalMode);
|
||||
}
|
||||
|
||||
void CDatabaseReaderConfig::markAsDbDown()
|
||||
{
|
||||
CDbFlags::DataRetrievalMode m = this->getRetrievalMode();
|
||||
m = CDbFlags::adjustWhenDbIsDown(m);
|
||||
this->m_retrievalMode = static_cast<int>(m);
|
||||
m_retrievalMode = static_cast<int>(m);
|
||||
}
|
||||
|
||||
void CDatabaseReaderConfig::setCacheLifetime(const CTime &time)
|
||||
{
|
||||
this->m_cacheLifetime = time;
|
||||
m_cacheLifetime = time;
|
||||
}
|
||||
|
||||
bool CDatabaseReaderConfig::possiblyReadsFromSwiftDb() const
|
||||
@@ -96,7 +96,7 @@ namespace BlackCore
|
||||
|
||||
bool CDatabaseReaderConfig::isValid() const
|
||||
{
|
||||
return this->m_entities != BlackMisc::Network::CEntityFlags::NoEntity;
|
||||
return m_entities != CEntityFlags::NoEntity;
|
||||
}
|
||||
|
||||
CDatabaseReaderConfigList::CDatabaseReaderConfigList(const CSequence<CDatabaseReaderConfig> &other) :
|
||||
@@ -210,12 +210,13 @@ namespace BlackCore
|
||||
retrievalFlags |= CDbFlags::DbWriting;
|
||||
CDatabaseReaderConfigList l;
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AircraftIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirlineIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirlineIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirportEntity, CDbFlags::Ignore, cacheLifetime)); // not needed in mapping tool
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::DistributorEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::ModelEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::LiveryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::ModelEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::LiveryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::CountryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AircraftCategoryEntity, retrievalFlags, cacheLifetime));
|
||||
return l;
|
||||
}
|
||||
|
||||
@@ -228,12 +229,13 @@ namespace BlackCore
|
||||
|
||||
CDatabaseReaderConfigList l;
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AircraftIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirlineIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirportEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::DistributorEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::ModelEntity, retrievalFlagsWriting, cacheLifetime)); // for wizard
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::LiveryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirlineIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirportEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::DistributorEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::ModelEntity, retrievalFlagsWriting, cacheLifetime)); // for wizard
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::LiveryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::CountryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AircraftCategoryEntity, retrievalFlags, cacheLifetime));
|
||||
return l;
|
||||
}
|
||||
|
||||
@@ -243,12 +245,13 @@ namespace BlackCore
|
||||
const CDbFlags::DataRetrievalMode retrievalFlags = CDbFlags::CacheThenShared;
|
||||
CDatabaseReaderConfigList l;
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AircraftIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirlineIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirportEntity, CDbFlags::Ignore, cacheLifetime)); // not needed in mapping tool
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirlineIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirportEntity, CDbFlags::Ignore, cacheLifetime)); // not needed in mapping tool
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::DistributorEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::ModelEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::LiveryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::ModelEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::LiveryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::CountryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AircraftCategoryEntity, retrievalFlags, cacheLifetime));
|
||||
return l;
|
||||
}
|
||||
|
||||
@@ -261,9 +264,10 @@ namespace BlackCore
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirlineIcaoEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AirportEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::DistributorEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::ModelEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::LiveryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::ModelEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::LiveryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::CountryEntity, retrievalFlags, cacheLifetime));
|
||||
l.push_back(CDatabaseReaderConfig(CEntityFlags::AircraftCategoryEntity, retrievalFlags, cacheLifetime));
|
||||
return l;
|
||||
}
|
||||
} // ns
|
||||
|
||||
@@ -784,7 +784,7 @@ namespace BlackCore
|
||||
|
||||
bool CIcaoDataReader::hasChangedUrl(CEntityFlags::Entity entity, CUrl &oldUrlInfo, CUrl &newUrlInfo) const
|
||||
{
|
||||
Q_UNUSED(entity);
|
||||
Q_UNUSED(entity)
|
||||
oldUrlInfo = m_readerUrlCache.get();
|
||||
newUrlInfo = this->getBaseUrl(CDbFlags::DbReading);
|
||||
return CDatabaseReader::isChangedUrl(oldUrlInfo, newUrlInfo);
|
||||
|
||||
@@ -102,7 +102,7 @@ namespace BlackCore
|
||||
|
||||
// trigger reading
|
||||
// but do not start all at the same time
|
||||
const CEntityFlags::Entity icaoPart = entities & CEntityFlags::AllIcaoAndCountries;
|
||||
const CEntityFlags::Entity icaoPart = entities & CEntityFlags::AllIcaoCountriesCategory;
|
||||
const CEntityFlags::Entity modelPart = entities & CEntityFlags::DistributorLiveryModel;
|
||||
CEntityFlags::Entity remainingEntities = entities & ~icaoPart;
|
||||
remainingEntities &= ~modelPart;
|
||||
|
||||
@@ -26,11 +26,13 @@ namespace BlackMisc
|
||||
switch (flag)
|
||||
{
|
||||
case Unspecified: return "Unspecified";
|
||||
case Ignore: return "Ignore";
|
||||
case Canceled: return "Canceled";
|
||||
case DbReading: return "Direct DB access";
|
||||
case Shared: return "Shared data";
|
||||
case Cached: return "Cached data";
|
||||
case Ignore: return "Ignore";
|
||||
case Canceled: return "Canceled";
|
||||
case DbReading: return "Direct DB access";
|
||||
case DbWriting: return "DB writing";
|
||||
case Shared: return "Shared data";
|
||||
case SharedInfoOnly: return "Shared info only";
|
||||
case Cached: return "Cached data";
|
||||
default:
|
||||
BLACK_VERIFY_X(false, Q_FUNC_INFO, "wrong flags");
|
||||
return "wrong flags";
|
||||
@@ -41,25 +43,27 @@ namespace BlackMisc
|
||||
{
|
||||
QStringList list;
|
||||
if (mode.testFlag(Unspecified)) list << "Unspecified";
|
||||
if (mode.testFlag(Canceled)) list << "Canceled";
|
||||
if (mode.testFlag(Ignore)) list << "Ignore";
|
||||
if (mode.testFlag(Canceled)) list << "Canceled";
|
||||
if (mode.testFlag(Ignore)) list << "Ignore";
|
||||
|
||||
if (mode.testFlag(DbReading)) list << "Direct DB access";
|
||||
if (mode.testFlag(Shared)) list << "Shared data";
|
||||
if (mode.testFlag(Cached)) list << "Cached data";
|
||||
if (mode.testFlag(DbReading)) list << "Direct DB access";
|
||||
if (mode.testFlag(DbWriting)) list << "DB writing";
|
||||
if (mode.testFlag(Shared)) list << "Shared data";
|
||||
if (mode.testFlag(SharedInfoOnly)) list << "Shared info only";
|
||||
if (mode.testFlag(Cached)) list << "Cached data";
|
||||
return list.join(", ");
|
||||
}
|
||||
|
||||
CDbFlags::DataRetrievalModeFlag CDbFlags::modeToModeFlag(DataRetrievalMode mode)
|
||||
{
|
||||
if (mode == Unspecified) return Unspecified;
|
||||
if (mode == DbReading) return DbReading;
|
||||
if (mode == DbWriting) return DbWriting;
|
||||
if (mode == Shared) return Shared;
|
||||
if (mode == DbReading) return DbReading;
|
||||
if (mode == DbWriting) return DbWriting;
|
||||
if (mode == Shared) return Shared;
|
||||
if (mode == SharedInfoOnly) return SharedInfoOnly;
|
||||
if (mode == Cached) return Cached;
|
||||
if (mode == Canceled) return Canceled;
|
||||
if (mode == Ignore) return Ignore;
|
||||
if (mode == Cached) return Cached;
|
||||
if (mode == Canceled) return Canceled;
|
||||
if (mode == Ignore) return Ignore;
|
||||
return Unspecified;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user