|  | @@ -333,46 +333,35 @@ QVector<QStringList> dbSetup::importAirportsFromCSV()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void dbSetup::commitAirportData(QVector<QStringList> airportData)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -    qDebug() << "Airport Data: " << airportData[0];
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      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...";
 | 
	
		
			
				|  |  | -    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!";
 | 
	
		
			
				|  |  |  }
 |