/*
* Copyright (C) 2010 Ixonos Plc.
- * Copyright (C) 2011 Philipp Spitzer, gregor herrmann
+ * Copyright (C) 2011-2012 Philipp Spitzer, gregor herrmann, Stefan Stahl
*
* This file is part of ConfClerk.
*
file.open(QIODevice::ReadOnly | QIODevice::Text);
QString allSqlStatements = file.readAll();
foreach(QString sql, allSqlStatements.split(";")) {
+ if (sql.trimmed().length() == 0) // do not execute empty queries like the last character from create_tables.sql
+ continue;
QSqlQuery query(database);
- if (!query.exec(sql)) qDebug() << "Could not execute query" << query.lastError();
+ if (!query.exec(sql)) qDebug() << "Could not execute query '" << sql << "' error:" << query.lastError();
}
}
else
QString sql = QString("INSERT INTO SEARCH_EVENT ( xid_conference, id ) "
"SELECT DISTINCT EVENT.xid_conference, EVENT.id FROM EVENT ");
if( aColumns.contains("ROOM") ){
- sql += "INNER JOIN EVENT_ROOM ON ( EVENT.xid_conference = EVENT_ROOM.xid_conference AND EVENT.id = EVENT_ROOM.xid_event ) ";
- sql += "INNER JOIN ROOM ON ( EVENT_ROOM.xid_room = ROOM.id ) ";
+ sql += "LEFT JOIN EVENT_ROOM ON ( EVENT.xid_conference = EVENT_ROOM.xid_conference AND EVENT.id = EVENT_ROOM.xid_event ) ";
+ sql += "LEFT JOIN ROOM ON ( EVENT_ROOM.xid_room = ROOM.id ) ";
}
if( aColumns.contains("PERSON") ){
- sql += "INNER JOIN EVENT_PERSON ON ( EVENT.xid_conference = EVENT_PERSON.xid_conference AND EVENT.id = EVENT_PERSON.xid_event ) ";
- sql += "INNER JOIN PERSON ON ( EVENT_PERSON.xid_person = PERSON.id ) ";
+ sql += "LEFT JOIN EVENT_PERSON ON ( EVENT.xid_conference = EVENT_PERSON.xid_conference AND EVENT.id = EVENT_PERSON.xid_event ) ";
+ sql += "LEFT JOIN PERSON ON ( EVENT_PERSON.xid_person = PERSON.id ) ";
}
sql += QString("WHERE EVENT.xid_conference = %1 AND (").arg( aConferenceId );