Attempt to clean up packageconf handling around system tasks
This commit is contained in:
parent
ee26b576c4
commit
b2958b72b6
@ -40,7 +40,7 @@ Release::Release(int id, int version, const std::string& codename, bool isDefaul
|
|||||||
|
|
||||||
std::vector<Release> Release::get_releases() {
|
std::vector<Release> Release::get_releases() {
|
||||||
std::vector<Release> result;
|
std::vector<Release> result;
|
||||||
QString query_str = "SELECT id, version, codename, isDefault FROM release;";
|
QString query_str = "SELECT id, version, codename, isDefault FROM release WHERE codename != 'warty';";
|
||||||
QSqlQuery query(query_str, get_thread_connection());
|
QSqlQuery query(query_str, get_thread_connection());
|
||||||
while (query.next()) {
|
while (query.next()) {
|
||||||
result.emplace_back(Release(query.value("id").toInt(),
|
result.emplace_back(Release(query.value("id").toInt(),
|
||||||
@ -1247,6 +1247,7 @@ void Task::save(int _packageconf_id) {
|
|||||||
if (_packageconf_id == 0 || _packageconf_id == 32767) {
|
if (_packageconf_id == 0 || _packageconf_id == 32767) {
|
||||||
auto pkgconf = get_parent_packageconf();
|
auto pkgconf = get_parent_packageconf();
|
||||||
packageconf_id = pkgconf ? pkgconf->id : 0;
|
packageconf_id = pkgconf ? pkgconf->id : 0;
|
||||||
|
packageconf_id = (packageconf_id == 0) ? 1 : packageconf_id;
|
||||||
} else {
|
} else {
|
||||||
packageconf_id = _packageconf_id;
|
packageconf_id = _packageconf_id;
|
||||||
}
|
}
|
||||||
@ -1258,7 +1259,7 @@ void Task::save(int _packageconf_id) {
|
|||||||
WHERE packageconf_id = :packageconf_id AND jobstatus_id = :jobstatus_id
|
WHERE packageconf_id = :packageconf_id AND jobstatus_id = :jobstatus_id
|
||||||
)");
|
)");
|
||||||
link_query.bindValue(":task_id", id);
|
link_query.bindValue(":task_id", id);
|
||||||
link_query.bindValue(":packageconf_id", (packageconf_id == 0) ? QVariant(QMetaType::fromType<int>()) : packageconf_id);
|
link_query.bindValue(":packageconf_id", packageconf_id);
|
||||||
link_query.bindValue(":jobstatus_id", jobstatus->id);
|
link_query.bindValue(":jobstatus_id", jobstatus->id);
|
||||||
|
|
||||||
if (!ci_query_exec(&link_query)) {
|
if (!ci_query_exec(&link_query)) {
|
||||||
@ -1272,7 +1273,7 @@ void Task::save(int _packageconf_id) {
|
|||||||
INSERT INTO packageconf_jobstatus_id (packageconf_id, jobstatus_id, task_id)
|
INSERT INTO packageconf_jobstatus_id (packageconf_id, jobstatus_id, task_id)
|
||||||
VALUES (:packageconf_id, :jobstatus_id, :task_id)
|
VALUES (:packageconf_id, :jobstatus_id, :task_id)
|
||||||
)");
|
)");
|
||||||
link_query.bindValue(":packageconf_id", (packageconf_id == 0) ? QVariant(QMetaType::fromType<int>()) : packageconf_id);
|
link_query.bindValue(":packageconf_id", packageconf_id);
|
||||||
link_query.bindValue(":jobstatus_id", jobstatus->id);
|
link_query.bindValue(":jobstatus_id", jobstatus->id);
|
||||||
link_query.bindValue(":task_id", id);
|
link_query.bindValue(":task_id", id);
|
||||||
|
|
||||||
|
@ -147,6 +147,10 @@ bool init_database(const QString& database_path) {
|
|||||||
packaging_url TEXT NOT NULL
|
packaging_url TEXT NOT NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
INSERT INTO package (id, name, large, upstream_url, packaging_branch, packaging_url)
|
||||||
|
SELECT 1, 'system', 0, '.', '.', '.'
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM package WHERE id=1);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS release (
|
CREATE TABLE IF NOT EXISTS release (
|
||||||
id INTEGER PRIMARY KEY,
|
id INTEGER PRIMARY KEY,
|
||||||
version INTEGER NOT NULL UNIQUE,
|
version INTEGER NOT NULL UNIQUE,
|
||||||
@ -154,6 +158,10 @@ bool init_database(const QString& database_path) {
|
|||||||
isDefault INTEGER NOT NULL DEFAULT 0
|
isDefault INTEGER NOT NULL DEFAULT 0
|
||||||
);
|
);
|
||||||
|
|
||||||
|
INSERT INTO release (id, version, codename, isDefault)
|
||||||
|
SELECT 1, 410, 'warty', 0
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM release WHERE id=1);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS branch (
|
CREATE TABLE IF NOT EXISTS branch (
|
||||||
id INTEGER PRIMARY KEY,
|
id INTEGER PRIMARY KEY,
|
||||||
name TEXT NOT NULL,
|
name TEXT NOT NULL,
|
||||||
@ -175,6 +183,10 @@ bool init_database(const QString& database_path) {
|
|||||||
commit_committer TEXT NOT NULL
|
commit_committer TEXT NOT NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
INSERT INTO git_commit (id, commit_hash, commit_summary, commit_message, commit_datetime, commit_author, commit_committer)
|
||||||
|
SELECT 1, '.', '.', '.', '2024-01-01T00:00:00', '', ''
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM branch WHERE id=1);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS packageconf (
|
CREATE TABLE IF NOT EXISTS packageconf (
|
||||||
id INTEGER PRIMARY KEY,
|
id INTEGER PRIMARY KEY,
|
||||||
upstream_version TEXT,
|
upstream_version TEXT,
|
||||||
@ -191,6 +203,10 @@ bool init_database(const QString& database_path) {
|
|||||||
FOREIGN KEY (upstream_commit_id) REFERENCES git_commit(id) ON DELETE CASCADE
|
FOREIGN KEY (upstream_commit_id) REFERENCES git_commit(id) ON DELETE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
|
INSERT INTO packageconf (id, upstream_version, ppa_revision, package_id, release_id, branch_id, packaging_commit_id, upstream_commit_id)
|
||||||
|
SELECT 1, '', 0, 1, 1, 1, 1, 1
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM branch WHERE id=1);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS jobstatus (
|
CREATE TABLE IF NOT EXISTS jobstatus (
|
||||||
id INTEGER PRIMARY KEY,
|
id INTEGER PRIMARY KEY,
|
||||||
build_score INTEGER NOT NULL,
|
build_score INTEGER NOT NULL,
|
||||||
@ -212,7 +228,7 @@ bool init_database(const QString& database_path) {
|
|||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS task (
|
CREATE TABLE IF NOT EXISTS task (
|
||||||
id INTEGER PRIMARY KEY,
|
id INTEGER PRIMARY KEY,
|
||||||
packageconf_id INTEGER DEFAULT NULL,
|
packageconf_id INTEGER NOT NULL,
|
||||||
jobstatus_id INTEGER NOT NULL,
|
jobstatus_id INTEGER NOT NULL,
|
||||||
queue_time INTEGER DEFAULT 0,
|
queue_time INTEGER DEFAULT 0,
|
||||||
start_time INTEGER DEFAULT 0,
|
start_time INTEGER DEFAULT 0,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user