Re: Protocol Message Graph

From: Agent M <agentm(at)themactionfaction(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Protocol Message Graph
Date: 2006-04-23 23:29:52
Message-ID: a7b8c42fe4c351b7d5ab690c510044fe@themactionfaction.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On Apr 23, 2006, at 6:43 PM, Alvaro Herrera wrote:

> Agent M wrote:
>> I have created a directed graph using graphviz that shows the message
>> flow/event stream. Perhaps this will be helpful to someone. Of course,
>> corrections are also welcome.
>
> Interesting. I'm not sure how to read the graph however -- for example
> what does it mean to have ReadyForQuery in both a rectangle and an
> ellipse? What do the standalone boxes mean? (e.g. the SSLRequest and
> CancelRequest? and why are they wrapped in two boxes? why
> Close/CloseComplete appear from nowhere and they don't lead anywhere?)
>
> Maybe it would make more sense to have a graph of states, and the edges
> would indicate what messages are sent to change from one state to
> another.

I tried to group the messages by functionality: asynchronous, simple,
extended, copy, function, etc. Since ReadyForQuery shows up in multiple
modes, I put it in its own mode (hence the additional bounding box). I
agree that the graph isn't perfect, but I also ran up against certain
limitations in graphiz itself (e.g., only one level of subgraph is
supported). So it's useful as a guide, but it clearly isn't a state
machine.

-M

¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬
AgentM
agentm(at)themactionfaction(dot)com
¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-04-23 23:45:17 Re: Regression error on float8
Previous Message Gevik Babakhani 2006-04-23 23:28:07 Re: Please advice TODO Item pg_hba.conf