kexi
sqliteadmin.cpp00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <qdir.h>
00021
00022 #include "sqliteadmin.h"
00023 #include <kexidb/drivermanager.h>
00024 #include <kexidb/driver_p.h>
00025
00026 #ifndef SQLITE2
00027 # include "sqlitevacuum.h"
00028 #endif
00029
00030 SQLiteAdminTools::SQLiteAdminTools()
00031 : KexiDB::AdminTools()
00032 {
00033 }
00034
00035 SQLiteAdminTools::~SQLiteAdminTools()
00036 {
00037 }
00038
00039 bool SQLiteAdminTools::vacuum(const KexiDB::ConnectionData& data, const QString& databaseName)
00040 {
00041 clearError();
00042 #ifdef SQLITE2
00043 Q_UNUSED(data);
00044 Q_UNUSED(databaseName);
00045 return false;
00046 #else
00047 KexiDB::DriverManager manager;
00048 KexiDB::Driver *drv = manager.driver(data.driverName);
00049 QString title( i18n("Could not compact database \"%1\".").arg(QDir::convertSeparators(databaseName)) );
00050 if (!drv) {
00051 setError(&manager, title);
00052 return false;
00053 }
00054 SQLiteVacuum vacuum(data.dbPath()+QDir::separator()+databaseName);
00055 tristate result = vacuum.run();
00056 if (!result) {
00057 setError(title);
00058 return false;
00059 }
00060 else
00061 return true;
00062 #endif
00063 }
00064
|