|
@@ -333,46 +333,35 @@ QVector<QStringList> dbSetup::importAirportsFromCSV()
|
|
|
|
|
|
void dbSetup::commitAirportData(QVector<QStringList> airportData)
|
|
void dbSetup::commitAirportData(QVector<QStringList> airportData)
|
|
{
|
|
{
|
|
- qDebug() << "Airport Data: " << airportData[0];
|
|
|
|
-
|
|
|
|
QSqlQuery query;
|
|
QSqlQuery query;
|
|
- query.prepare("INSERT INTO airports ("
|
|
|
|
- "icao, "
|
|
|
|
- "iata, "
|
|
|
|
- "name, "
|
|
|
|
- "lat, "
|
|
|
|
- "long, "
|
|
|
|
- "country, "
|
|
|
|
- "alt, "
|
|
|
|
- "utcoffset, "
|
|
|
|
- "tzolson"
|
|
|
|
- ") "
|
|
|
|
- "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
|
|
|
- //query.prepare("INSERT INTO airports (icao) VALUES (?)");
|
|
|
|
- query.addBindValue(airportData[0]);
|
|
|
|
- query.addBindValue(airportData[1]);
|
|
|
|
- query.addBindValue(airportData[2]);
|
|
|
|
- query.addBindValue(airportData[3]);
|
|
|
|
- query.addBindValue(airportData[4]);
|
|
|
|
- query.addBindValue(airportData[5]);
|
|
|
|
- query.addBindValue(airportData[6]);
|
|
|
|
- query.addBindValue(airportData[7]);
|
|
|
|
- query.addBindValue(airportData[8]);
|
|
|
|
-
|
|
|
|
- //if (!query.execBatch())
|
|
|
|
- // qDebug() << query.lastError();
|
|
|
|
- auto start = std::chrono::high_resolution_clock::now(); // execution timer
|
|
|
|
- //code
|
|
|
|
qDebug() << "Updating Airport Database...";
|
|
qDebug() << "Updating Airport Database...";
|
|
- query.execBatch();
|
|
|
|
- qDebug() << "Error: " << query.lastError();
|
|
|
|
- qDebug() << "Airport Database updated...";
|
|
|
|
- auto stop = std::chrono::high_resolution_clock::now();
|
|
|
|
- auto duration = std::chrono::duration_cast<std::chrono::microseconds>(stop - start);
|
|
|
|
- qDebug() << "Time taken: " << duration.count() << " microseconds";
|
|
|
|
-
|
|
|
|
|
|
|
|
-/* for (int i = 0; i < airportData.length(); i++) {
|
|
|
|
- qDebug() << "List number " << i << ": " << airportData[i];
|
|
|
|
- }*/
|
|
|
|
|
|
+ query.exec("BEGIN EXCLUSIVE TRANSACTION;"); // otherwise execution takes forever
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < airportData[0].length(); i++){
|
|
|
|
+ query.prepare("INSERT INTO airports ("
|
|
|
|
+ "icao, "
|
|
|
|
+ "iata, "
|
|
|
|
+ "name, "
|
|
|
|
+ "lat, "
|
|
|
|
+ "long, "
|
|
|
|
+ "country, "
|
|
|
|
+ "alt, "
|
|
|
|
+ "utcoffset, "
|
|
|
|
+ "tzolson"
|
|
|
|
+ ") "
|
|
|
|
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
|
|
|
+ query.addBindValue(airportData[0][i]);
|
|
|
|
+ query.addBindValue(airportData[1][i]);
|
|
|
|
+ query.addBindValue(airportData[2][i]);
|
|
|
|
+ query.addBindValue(airportData[3][i]);
|
|
|
|
+ query.addBindValue(airportData[4][i]);
|
|
|
|
+ query.addBindValue(airportData[5][i]);
|
|
|
|
+ query.addBindValue(airportData[6][i]);
|
|
|
|
+ query.addBindValue(airportData[7][i]);
|
|
|
|
+ query.addBindValue(airportData[8][i]);
|
|
|
|
+ query.exec();
|
|
|
|
+ }
|
|
|
|
+ query.exec("COMMIT;"); //commit transaction
|
|
|
|
+ qDebug() << "Airport Database updated!";
|
|
}
|
|
}
|