public inbox for [email protected]
help / color / mirror / Atom feedFrom: Daniele Varrazzo <[email protected]>
To: [email protected]
To: [email protected]
Subject: Re: Feature branches merged to master for 2.8 release
Date: Mon, 15 Oct 2018 18:23:57 +0100
Message-ID: <CA+mi_8bRgi5rFZbnVAiDLK_B-ZLNa-ze9uK6y3WONHu_zq1u_Q@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <CA+mi_8aVzn-4Ujuqg5aMduHjL1XQ3Y7sUU86s3p6shMefaPoSQ@mail.gmail.com>
<[email protected]>
On Mon, Oct 15, 2018 at 1:12 PM Karsten Hilbert <[email protected]> wrote:
>
> On Mon, Oct 15, 2018 at 12:48:04PM +0100, Daniele Varrazzo wrote:
>
> > - the new 'errors' module. About it I have a doubt: we convert
> > postgres error messages [2] from lower_case to CamelCase because the
> > latter is the convention for Python class, but maybe leaving as they
> > are makes more sense? Easier to google for them or grep for them in
> > the postgres sources maybe?
>
> Since there is no Right or Wrong here, the "best" option
> might be to offer both:
>
> Raise whatever is Right for Python (that is, CamelCase)
>
> raise PostgresSpecificError
>
> but support catching lower case, too:
>
> class postgres_specific_error(PostgresSpecificError):
> pass
>
> try:
> something()
> except postgres_specific_error:
> print('lower case')
>
> For the lower case one I would exactly copy what's used by
> PostgreSQL itself.
>
> Make sense ?
I think it's responsible to make a decision. Having two names to refer
to a thing is confusing. One of the two would be the "blessed" one -
the one appearing in the tracebacks. And if a traceback says that
'unique_violation' was raised, it would be weird to solve it by
writing a handler for 'UniqueViolation'.
Plus, that module defines already 232 classes (as of Postgres 11): I
wouldn't like doubling their number. I'm pondering whether to write it
as a C module instead of Python but I'm not overly fussed by that.
So I'd say lower_case or CamelCase, not both.
-- Daniele
view thread (20+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: Feature branches merged to master for 2.8 release
In-Reply-To: <CA+mi_8bRgi5rFZbnVAiDLK_B-ZLNa-ze9uK6y3WONHu_zq1u_Q@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox