Radish alpha
r
Radicle CI broker
Radicle
Git (anonymous pull)
Log in to clone via SSH
feat! drop Db::queued_events
Lars Wirzenius committed 1 year ago
commit 3da72805e9c95010862a36a0d0443754e1822113
parent da7971ada31b9684abe6182429eb3f7488d5d13c
2 files changed +1 -41
modified src/bin/cib.rs
@@ -84,12 +84,7 @@ impl Args {

    fn open_db(&self, config: &Config) -> Result<Db, CibError> {
        let db = Db::new(config.db()).map_err(CibError::db)?;
-
        let events = db.queued_events().map_err(CibError::Db)?;
-
        if events.is_empty() {
-
            Ok(db)
-
        } else {
-
            Err(CibError::UnprocessedBrokerEvents)
-
        }
+
        Ok(db)
    }

    fn minimum_log_level(&self) -> LogLevel {
@@ -312,9 +307,6 @@ enum CibError {
    #[error("failed to use SQLite database")]
    Db(#[source] DbError),

-
    #[error("database has unprocessed broker events")]
-
    UnprocessedBrokerEvents,
-

    #[error("failed create broker data type")]
    NewBroker(#[source] BrokerError),

modified src/db.rs
@@ -57,7 +57,6 @@ impl Db {
    fn create_tables(&self) -> Result<(), DbError> {
        const TABLES: &[&str] = &[
            "CREATE TABLE IF NOT EXISTS counter_test (counter INT)",
-
            "CREATE TABLE IF NOT EXISTS event_queue (id TEXT PRIMARY KEY, timestamp TEXT, event TEXT)",
            "CREATE TABLE IF NOT EXISTS ci_event_queue (id TEXT PRIMARY KEY, timestamp TEXT, event TEXT)",
            "CREATE TABLE IF NOT EXISTS ci_runs (broker_run_id TEXT PRIMARY KEY, json TEXT)",
        ];
@@ -170,37 +169,6 @@ impl Db {
        Ok(counter)
    }

-
    /// Return list of identifiers for broker events currently in the queue.
-
    ///
-
    /// Note that there is no longer any way to retrieve the broker
-
    /// events. This method is meant only for making sure there are no
-
    /// unprocessed broker events in the queue.
-
    pub fn queued_events(&self) -> Result<Vec<QueueId>, DbError> {
-
        let mut select = self.prepare("SELECT id FROM event_queue")?;
-

-
        let mut ids = vec![];
-

-
        loop {
-
            match select.stmt.next() {
-
                Ok(State::Row) => {
-
                    let id: String = select
-
                        .stmt
-
                        .read("id")
-
                        .map_err(|e| DbError::list_events(&select.sql, e))?;
-
                    ids.push(QueueId::from(&id));
-
                }
-
                Ok(State::Done) => {
-
                    break;
-
                }
-
                Err(e) => {
-
                    return Err(DbError::list_events(&select.sql, e));
-
                }
-
            }
-
        }
-

-
        Ok(ids)
-
    }
-

    /// Return list of identifiers for CI events currently in the queue.
    pub fn queued_ci_events(&self) -> Result<Vec<QueueId>, DbError> {
        let mut select = self.prepare("SELECT id FROM ci_event_queue")?;