all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: "Clément Lassieur" <clement@lassieur.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 1/2] Support publishing build events
Date: Tue, 03 Dec 2019 01:20:58 +0100	[thread overview]
Message-ID: <875ziyl0np.fsf@cbaines.net> (raw)
In-Reply-To: <87fti51lza.fsf@lassieur.org>

[-- Attachment #1: Type: text/plain, Size: 1685 bytes --]


Clément Lassieur <clement@lassieur.org> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> diff --git a/src/schema.sql b/src/schema.sql
>> index a9e4a6a..b84b231 100644
>> --- a/src/schema.sql
>> +++ b/src/schema.sql
>> @@ -64,6 +64,18 @@ CREATE TABLE Builds (
>>    FOREIGN KEY (evaluation) REFERENCES Evaluations (id)
>>  );
>>
>> +CREATE TABLE Events (
>> +  id            INTEGER PRIMARY KEY,
>       ^
> Also, I forgot.  This row could be removed if the EventsOutbox table is
> removed.
>
>> +  type          TEXT NOT NULL,
>> +  timestamp     INTEGER NOT NULL,
>> +  event_json    TEXT NOT NULL
>> +);
>> +
>> +CREATE TABLE EventsOutbox (
>> +  event_id      INTEGER NOT NULL,
>> +  FOREIGN KEY (event_id) REFERENCES Events (id)
>> +);
>> +
>
> And now that I think about it, even if we don't remove the EventsOutbox
> table, wouldn't it be simpler to just add a 'sent' column (a Boolean) to
> the Events table?

Simpler definitely in terms of the schema. However, I was thinking more
of the separation of concerns. One concern is storing events, and the
other is delivering them, and each table handles just one of those
things.

Also, I think at least in PostgreSQL, updating a row in a table
effectively inserts a new version of the row with the update, then at
some point the space for the old version of the row may be reused. Given
the events table may become quite large, it will probably be easier to
handle as something that's just added to, not added to and then
modified. But, I realise this is me guessing about performance and
maintenance without knowing much about SQLite, or doing any testing…

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

  reply	other threads:[~2019-12-03  0:21 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-20  7:41 Getting build information in to the Guix Data Service (draft patch) Christopher Baines
2019-10-20  7:49 ` [PATCH] Support publishing build events Christopher Baines via Development of GNU Guix and the GNU System distribution.
2019-10-21  9:31   ` Mathieu Othacehe
2019-10-21 21:47     ` Christopher Baines
2019-10-23 14:39 ` Getting build information in to the Guix Data Service (draft patch) Ludovic Courtès
2019-10-23 23:32   ` Christopher Baines
2019-10-28  8:10     ` [PATCH 1/2] Support publishing build events Christopher Baines
2019-10-28  8:10       ` [PATCH 2/2] Support publishing evaluation events Christopher Baines
2019-11-16 21:41         ` Ludovic Courtès
2019-11-16 23:34           ` Christopher Baines
2019-11-16 21:39       ` [PATCH 1/2] Support publishing build events Ludovic Courtès
2019-11-16 23:13         ` Christopher Baines
2019-11-17 21:26           ` Ludovic Courtès
2019-11-18  8:53             ` Christopher Baines
2019-11-28 18:36         ` Christopher Baines
2019-11-28 18:36           ` [PATCH 2/2] Support publishing evaluation events Christopher Baines
2019-11-30 14:10             ` Clément Lassieur
2019-12-03  0:21               ` Christopher Baines
2019-11-30 14:08           ` [PATCH 1/2] Support publishing build events Clément Lassieur
2019-12-03  0:12             ` Christopher Baines
2019-12-03 11:25               ` Clément Lassieur
2019-12-03 19:44                 ` Christopher Baines
2019-12-04 13:59                   ` Clément Lassieur
2019-12-28 20:17                     ` Christopher Baines
2020-01-08 11:27                       ` Ludovic Courtès
2020-01-16  8:37                         ` Christopher Baines
2019-11-30 14:23           ` Clément Lassieur
2019-12-03  0:20             ` Christopher Baines [this message]
2019-11-28 18:48         ` Christopher Baines
2019-11-30 11:15           ` Clément Lassieur
2019-12-02 23:22             ` Christopher Baines
2019-10-28  8:33     ` Getting build information in to the Guix Data Service (draft patch) Christopher Baines
2019-12-28 19:05 ` [PATCH v3 1/2] Support publishing build events Christopher Baines
2019-12-28 19:05   ` [PATCH v3 2/2] Support publishing evaluation events Christopher Baines
2019-12-28 19:54 ` [PATCH v4 1/2] Support publishing build events Christopher Baines
2019-12-28 19:54   ` [PATCH v4 2/2] Support publishing evaluation events Christopher Baines

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875ziyl0np.fsf@cbaines.net \
    --to=mail@cbaines.net \
    --cc=clement@lassieur.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.