diff options
-rw-r--r-- | gentoobrowse-api/service/maintenanceimpl.cpp | 10 | ||||
-rw-r--r-- | gentoobrowse-api/service/sql/maintenance/fileList.sql (renamed from gentoobrowse-api/service/sql/maintenance/createTempFileListView.sql) | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/gentoobrowse-api/service/maintenanceimpl.cpp b/gentoobrowse-api/service/maintenanceimpl.cpp index d6b13a2..aec1cba 100644 --- a/gentoobrowse-api/service/maintenanceimpl.cpp +++ b/gentoobrowse-api/service/maintenanceimpl.cpp @@ -5,7 +5,7 @@ #include <buffer.h> #include <boost/filesystem/operations.hpp> #include <sql/maintenance/createTempFileListTable.sql.h> -#include <sql/maintenance/createTempFileListView.sql.h> +#include <sql/maintenance/fileList.sql.h> #include "maintenance/categoryMetaProcessor.h" #include "maintenance/packageManifestProcessor.h" #include "maintenance/packageMetaProcessor.h" @@ -118,26 +118,24 @@ namespace Gentoo { i->execute(); } } - dbc->execute(sql::maintenance::createTempFileListView::sql); } void Maintenance::processChanges(DB::Connection * dbc, const boost::filesystem::path & tmp) { + DB::StaticSqlWriter src(sql::maintenance::fileList::sql); DB::TablePatch tp; - tp.src = "tmp"; + tp.srcExpr = &src; tp.dest = "gentoobrowse.files"; tp.pk = {"repoid", "filename"}; tp.cols = {"repoid", "filename", "filetypeid", "pathparts", "filesize", "moddate"}; tp.beforeDelete = boost::bind(&Maintenance::fileDeleted, this, dbc, tmp, _1); tp.beforeUpdate = boost::bind(&Maintenance::fileChanged, this, dbc, tmp, _1); tp.beforeInsert = boost::bind(&Maintenance::fileCreated, this, dbc, tmp, _1); - DB::StaticSqlWriter obpo( - "(SELECT processOrder FROM gentoobrowse.filetypes ft WHERE ft.filetypeid = b.filetypeid) NULLS LAST"); + DB::StaticSqlWriter obpo("processOrder NULLS LAST"); tp.order = &obpo; dbc->patchTable(&tp); boost::filesystem::remove_all(tmp); - dbc->execute("DROP VIEW tmp"); dbc->execute("DROP TABLE filelist"); } diff --git a/gentoobrowse-api/service/sql/maintenance/createTempFileListView.sql b/gentoobrowse-api/service/sql/maintenance/fileList.sql index f40473e..dd1c9da 100644 --- a/gentoobrowse-api/service/sql/maintenance/createTempFileListView.sql +++ b/gentoobrowse-api/service/sql/maintenance/fileList.sql @@ -1,11 +1,13 @@ -CREATE TEMPORARY VIEW tmp AS +( SELECT r.repoid, fl.filename, ft.filetypeid, + ft.processOrder, (STRING_TO_ARRAY(fl.filename, '/'))[2:100] pathparts, fl.filesize, fl.filemtime moddate FROM filelist fl, gentoobrowse.repos r, gentoobrowse.filetypes ft WHERE (STRING_TO_ARRAY(fl.filename, '/'))[1] = r.name AND (STRING_TO_ARRAY(fl.filename, '/'))[2:100] ~ ft.spec +) |