|
@@ -20,6 +20,15 @@
|
|
|
|
|
|
namespace experimental {
|
|
|
|
|
|
+ADataBaseError::ADataBaseError(QString msg_)
|
|
|
+ : QSqlError::QSqlError(msg_)
|
|
|
+{}
|
|
|
+
|
|
|
+QString ADataBaseError::text() const
|
|
|
+{
|
|
|
+ return "Database Error: " + QSqlError::text();
|
|
|
+}
|
|
|
+
|
|
|
ADataBase* ADataBase::instance = nullptr;
|
|
|
|
|
|
ADataBase* ADataBase::getInstance()
|
|
@@ -89,7 +98,7 @@ bool ADataBase::remove(AEntry entry)
|
|
|
{
|
|
|
if (!exists(entry)) {
|
|
|
DEB("Error: Database entry not found.");
|
|
|
- lastError = "Database Error: Database entry not found.";
|
|
|
+ lastError = ADataBaseError("Database entry not found.");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -125,7 +134,7 @@ bool ADataBase::removeMany(QList<DataPosition> data_position_list)
|
|
|
|
|
|
for (const auto& data_position : data_position_list) {
|
|
|
if (!exists(data_position)) {
|
|
|
- lastError = "Database Error: Database entry not found.";
|
|
|
+ lastError = ADataBaseError("Database entry not found.");
|
|
|
errorCount++;
|
|
|
}
|
|
|
QString statement = "DELETE FROM " + data_position.first +
|
|
@@ -182,7 +191,7 @@ bool ADataBase::exists(AEntry entry)
|
|
|
return true;
|
|
|
} else {
|
|
|
DEB("Database entry not found.");
|
|
|
- lastError = "Database Error: Database entry not found.";
|
|
|
+ lastError = ADataBaseError("Database entry not found.");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -211,7 +220,7 @@ bool ADataBase::exists(DataPosition data_position)
|
|
|
return true;
|
|
|
} else {
|
|
|
DEB("No entry exists at DataPosition: " << data_position);
|
|
|
- lastError = "Database Error: Database entry not found.";
|
|
|
+ lastError = ADataBaseError("Database entry not found.");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -326,7 +335,7 @@ TableData ADataBase::getEntryData(DataPosition data_position)
|
|
|
check_query.next();
|
|
|
if (check_query.value(0).toInt() == 0) {
|
|
|
DEB("No Entry found for row id: " << data_position.second );
|
|
|
- lastError = "Database Error: Database entry not found.";
|
|
|
+ lastError = ADataBaseError("Database entry not found.");
|
|
|
return TableData();
|
|
|
}
|
|
|
|
|
@@ -391,26 +400,26 @@ AFlightEntry ADataBase::getFlightEntry(RowId row_id)
|
|
|
return flight_entry;
|
|
|
}
|
|
|
|
|
|
-const QStringList ADataBase::getCompletionList(DBTarget target)
|
|
|
+const QStringList ADataBase::getCompletionList(ADataBaseTarget target)
|
|
|
{
|
|
|
QString statement;
|
|
|
|
|
|
switch (target) {
|
|
|
- case DBTarget::pilots:
|
|
|
+ case ADataBaseTarget::pilots:
|
|
|
statement.append("SELECT piclastname||', '||picfirstname FROM pilots");
|
|
|
break;
|
|
|
- case DBTarget::aircraft:
|
|
|
+ case ADataBaseTarget::aircraft:
|
|
|
statement.append("SELECT make||' '||model FROM aircraft WHERE model IS NOT NULL "
|
|
|
"UNION "
|
|
|
"SELECT make||' '||model||'-'||variant FROM aircraft WHERE variant IS NOT NULL");
|
|
|
break;
|
|
|
- case DBTarget::airport_identifier_all:
|
|
|
+ case ADataBaseTarget::airport_identifier_all:
|
|
|
statement.append("SELECT icao FROM airports UNION SELECT iata FROM airports");
|
|
|
break;
|
|
|
- case DBTarget::registrations:
|
|
|
+ case ADataBaseTarget::registrations:
|
|
|
statement.append("SELECT registration FROM tails");
|
|
|
break;
|
|
|
- case DBTarget::companies:
|
|
|
+ case ADataBaseTarget::companies:
|
|
|
statement.append("SELECT company FROM pilots");
|
|
|
break;
|
|
|
default:
|
|
@@ -439,29 +448,29 @@ const QStringList ADataBase::getCompletionList(DBTarget target)
|
|
|
return completer_list;
|
|
|
}
|
|
|
|
|
|
-const QMap<QString, int> ADataBase::getIdMap(DBTarget target)
|
|
|
+const QMap<QString, int> ADataBase::getIdMap(ADataBaseTarget target)
|
|
|
{
|
|
|
QString statement;
|
|
|
|
|
|
switch (target) {
|
|
|
- case DBTarget::pilots:
|
|
|
+ case ADataBaseTarget::pilots:
|
|
|
statement.append("SELECT ROWID, piclastname||', '||picfirstname FROM pilots");
|
|
|
break;
|
|
|
- case DBTarget::aircraft:
|
|
|
+ case ADataBaseTarget::aircraft:
|
|
|
statement.append("SELECT ROWID, make||' '||model FROM aircraft WHERE model IS NOT NULL "
|
|
|
"UNION "
|
|
|
"SELECT ROWID, make||' '||model||'-'||variant FROM aircraft WHERE variant IS NOT NULL");
|
|
|
break;
|
|
|
- case DBTarget::airport_identifier_icao:
|
|
|
+ case ADataBaseTarget::airport_identifier_icao:
|
|
|
statement.append("SELECT ROWID, icao FROM airports");
|
|
|
break;
|
|
|
- case DBTarget::airport_identifier_iata:
|
|
|
+ case ADataBaseTarget::airport_identifier_iata:
|
|
|
statement.append("SELECT ROWID, iata FROM airports WHERE iata NOT NULL");
|
|
|
break;
|
|
|
- case DBTarget::airport_names:
|
|
|
+ case ADataBaseTarget::airport_names:
|
|
|
statement.append("SELECT ROWID, name FROM airports");
|
|
|
break;
|
|
|
- case DBTarget::tails:
|
|
|
+ case ADataBaseTarget::tails:
|
|
|
statement.append("SELECT ROWID, registration FROM tails");
|
|
|
break;
|
|
|
default:
|
|
@@ -486,18 +495,18 @@ const QMap<QString, int> ADataBase::getIdMap(DBTarget target)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-int ADataBase::getLastEntry(DBTarget target)
|
|
|
+int ADataBase::getLastEntry(ADataBaseTarget target)
|
|
|
{
|
|
|
QString statement = "SELECT MAX(ROWID) FROM ";
|
|
|
|
|
|
switch (target) {
|
|
|
- case DBTarget::pilots:
|
|
|
+ case ADataBaseTarget::pilots:
|
|
|
statement.append(DB_TABLE_PILOTS);
|
|
|
break;
|
|
|
- case DBTarget::aircraft:
|
|
|
+ case ADataBaseTarget::aircraft:
|
|
|
statement.append(DB_TABLE_AIRCRAFT);
|
|
|
break;
|
|
|
- case DBTarget::tails:
|
|
|
+ case ADataBaseTarget::tails:
|
|
|
statement.append(DB_TABLE_TAILS);
|
|
|
break;
|
|
|
default:
|
|
@@ -508,7 +517,7 @@ int ADataBase::getLastEntry(DBTarget target)
|
|
|
if (query.first()) {
|
|
|
return query.value(0).toInt();
|
|
|
} else {
|
|
|
- lastError = "Database Error: Database entry not found.";
|
|
|
+ lastError = ADataBaseError("Database entry not found.");
|
|
|
DEB("No entry found.");
|
|
|
return 0;
|
|
|
}
|