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

Method getCreateStatementForTable

src/database/SimpleDatabase.cpp:279–323  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

277 }
278
279 QString SimpleDatabase::getCreateStatementForTable(Tables const& table) {
280 QFile sqlFile;
281 switch (table) {
282 case Tables::ContactMessages:
283 sqlFile.setFileName(QStringLiteral(":/sql/CreateContactMessages.sql"));
284 break;
285 case Tables::Contacts:
286 sqlFile.setFileName(QStringLiteral(":/sql/CreateContacts.sql"));
287 break;
288 case Tables::ControlMessages:
289 sqlFile.setFileName(QStringLiteral(":/sql/CreateContactControlMessages.sql"));
290 break;
291 case Tables::GroupMessages:
292 sqlFile.setFileName(QStringLiteral(":/sql/CreateGroupMessages.sql"));
293 break;
294 case Tables::FeatureLevels:
295 sqlFile.setFileName(QStringLiteral(":/sql/CreateFeatureLevels.sql"));
296 break;
297 case Tables::Groups:
298 sqlFile.setFileName(QStringLiteral(":/sql/CreateGroups.sql"));
299 break;
300 case Tables::Media:
301 sqlFile.setFileName(QStringLiteral(":/sql/CreateMedia.sql"));
302 break;
303 case Tables::Settings:
304 sqlFile.setFileName(QStringLiteral(":/sql/CreateSettings.sql"));
305 break;
306 case Tables::TableVersions:
307 sqlFile.setFileName(QStringLiteral(":/sql/CreateTableVersions.sql"));
308 break;
309 default:
310 throw openmittsu::exceptions::InternalErrorException() << "Unknown Table type given for fetching create statements from resources: " << static_cast<int>(table);
311 }
312
313 if (!sqlFile.exists() || !sqlFile.open(QFile::ReadOnly)) {
314 throw openmittsu::exceptions::InternalErrorException() << "Could not find or open the file \"" << sqlFile.fileName().toStdString() << "\" containg the create statements from resources: " << static_cast<int>(table);
315 } else {
316 QTextStream fileStream(&sqlFile);
317
318 QString result = fileStream.readAll();
319 sqlFile.close();
320
321 return result;
322 }
323 }
324
325 QStringList SimpleDatabase::getUpdateStatementForTable(Tables const& table, int toVersion) {
326 QFile sqlFile;

Callers

nothing calls this directly

Calls 1

existsMethod · 0.45

Tested by

no test coverage detected