From 061c9fadf20a0ef31a6eec419635a3bc476e8437 Mon Sep 17 00:00:00 2001 From: Jimmy Date: Thu, 18 Apr 2024 00:02:33 -0500 Subject: [PATCH 1/3] Catch any errors when inserting packages --- src/parse.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/parse.php b/src/parse.php index 6c991fb..8973753 100644 --- a/src/parse.php +++ b/src/parse.php @@ -53,8 +53,11 @@ db_execute_prepare('DELETE FROM `packages` WHERE `host` = ?', array($h)); foreach ($fs as $k => $b) { foreach ($b as $v) { - db_execute_prepare($s, array($h, sql_clean_package($v['name']), sql_clean_package($v['version']), sql_clean_package($v['release']), sql_clean_package($v['epoch']), - sql_clean_package($v['arch']), sql_clean_package($v['source']))); + try { + db_execute_prepare($s, array($h, sql_clean_package($v['name']), sql_clean_package($v['version']), sql_clean_package($v['release']), sql_clean_package($v['epoch']), + sql_clean_package($v['arch']), sql_clean_package($v['source']))); + } catch (Exception $e) { + } } } } elseif ($t == 'ansible.builtin.service_facts') { From 77b337f8d2ad677e9d0ddf406782d4ab65a154d9 Mon Sep 17 00:00:00 2001 From: Jimmy Date: Thu, 18 Apr 2024 00:08:21 -0500 Subject: [PATCH 2/3] Fix package primary key --- src/includes/db_upgrade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/includes/db_upgrade.php b/src/includes/db_upgrade.php index e28e44d..26947c1 100644 --- a/src/includes/db_upgrade.php +++ b/src/includes/db_upgrade.php @@ -57,7 +57,7 @@ `source` varchar(32) NOT NULL, `check` tinyint(1) NOT NULL DEFAULT '0')"); db_execute("ALTER TABLE `packages` - ADD PRIMARY KEY `host_name` (`host`, `name`), + ADD PRIMARY KEY (`host`,`name`,`version`,`release`,`epoch`,`arch`), ADD INDEX `host` (`host`), ADD INDEX `name` (`name`), ADD INDEX `arch` (`arch`), From 007bafaca5f5637c16b6dfab4c8aeafbcaebf92e Mon Sep 17 00:00:00 2001 From: Jimmy Date: Thu, 18 Apr 2024 00:09:32 -0500 Subject: [PATCH 3/3] Fix package primary key --- src/includes/db_upgrade.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/includes/db_upgrade.php b/src/includes/db_upgrade.php index 26947c1..790c240 100644 --- a/src/includes/db_upgrade.php +++ b/src/includes/db_upgrade.php @@ -1,6 +1,6 @@