MCPcopy Create free account
hub / github.com/blizzard4591/openMittsu / getUpdateStatementForTable

Method getUpdateStatementForTable

src/database/SimpleDatabase.cpp:325–373  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

323 }
324
325 QStringList SimpleDatabase::getUpdateStatementForTable(Tables const& table, int toVersion) {
326 QFile sqlFile;
327 switch (table) {
328 case Tables::ContactMessages:
329 sqlFile.setFileName(QStringLiteral(":/sql/UpdateContactMessagesToVersion%1.sql").arg(toVersion));
330 break;
331 case Tables::Contacts:
332 sqlFile.setFileName(QStringLiteral(":/sql/UpdateContactsToVersion%1.sql").arg(toVersion));
333 break;
334 case Tables::ControlMessages:
335 sqlFile.setFileName(QStringLiteral(":/sql/UpdateContactControlMessagesToVersion%1.sql").arg(toVersion));
336 break;
337 case Tables::GroupMessages:
338 sqlFile.setFileName(QStringLiteral(":/sql/UpdateGroupMessagesToVersion%1.sql").arg(toVersion));
339 break;
340 case Tables::FeatureLevels:
341 sqlFile.setFileName(QStringLiteral(":/sql/UpdateFeatureLevelsToVersion%1.sql").arg(toVersion));
342 break;
343 case Tables::Groups:
344 sqlFile.setFileName(QStringLiteral(":/sql/UpdateGroupsToVersion%1.sql").arg(toVersion));
345 break;
346 case Tables::Media:
347 sqlFile.setFileName(QStringLiteral(":/sql/UpdateMediaToVersion%1.sql").arg(toVersion));
348 break;
349 case Tables::Settings:
350 sqlFile.setFileName(QStringLiteral(":/sql/UpdateSettingsToVersion%1.sql").arg(toVersion));
351 break;
352 case Tables::TableVersions:
353 sqlFile.setFileName(QStringLiteral(":/sql/UpdateTableVersionsToVersion%1.sql").arg(toVersion));
354 break;
355 default:
356 throw openmittsu::exceptions::InternalErrorException() << "Unknown Table type given for fetching update statements from resources: " << static_cast<int>(table);
357 }
358
359 if (!sqlFile.exists() || !sqlFile.open(QFile::ReadOnly)) {
360 throw openmittsu::exceptions::InternalErrorException() << "Could not find or open the file \"" << sqlFile.fileName().toStdString() << "\" containg the update statements from resources: " << static_cast<int>(table);
361 } else {
362 QTextStream fileStream(&sqlFile);
363
364 QString result = fileStream.readAll();
365 sqlFile.close();
366
367#if defined(QT_VERSION) && (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0))
368 return result.split(QStringLiteral("__OPENMITTSU_QUERY_SEP__"), Qt::SkipEmptyParts);
369#else
370 return result.split(QStringLiteral("__OPENMITTSU_QUERY_SEP__"), QString::SkipEmptyParts);
371#endif
372 }
373 }
374
375 QString SimpleDatabase::getTableName(Tables const& table) {
376 switch (table) {

Callers

nothing calls this directly

Calls 2

existsMethod · 0.45
splitMethod · 0.45

Tested by

no test coverage detected