Re: Fwd: Proposal: variant of regclass

From: Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp>
To: Marti Raudsepp <marti(at)juffo(dot)org>
Cc: Tatsuo Ishii <ishii(at)postgresql(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Vik Fearing <vik(dot)fearing(at)dalibo(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Pavel Golub <pavel(at)gf(dot)microolap(dot)com>, Pavel Golub <pavel(at)microolap(dot)com>, Andres Freund <andres(at)2ndquadrant(dot)com>, Pavel Stěhule <pavel(dot)stehule(at)gmail(dot)com>
Subject: Re: Fwd: Proposal: variant of regclass
Date: 2014-01-24 03:35:27
Message-ID: 20140124123527.bcb67a6d.nagata@sraoss.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 23 Jan 2014 13:19:37 +0200
Marti Raudsepp <marti(at)juffo(dot)org> wrote:

> Resending to Tatsuo Ishii and Yugo Nagata, your email server was
> having problems yesterday:

Thanks for resending!

>
> This is the mail system at host sraigw2.sra.co.jp.
>
> <yugo-n(at)sranhm(dot)sra(dot)co(dot)jp>: mail for srasce.sra.co.jp loops back to myself
> <t-ishii(at)sra(dot)co(dot)jp>: mail for srasce.sra.co.jp loops back to myself
>
> ---------- Forwarded message ----------
> From: Marti Raudsepp <marti(at)juffo(dot)org>
> Date: Thu, Jan 23, 2014 at 3:39 AM
> Subject: Re: [HACKERS] Proposal: variant of regclass
> To: Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp>
> Cc: Tatsuo Ishii <ishii(at)postgresql(dot)org>, pgsql-hackers
> <pgsql-hackers(at)postgresql(dot)org>, Vik Fearing <vik(dot)fearing(at)dalibo(dot)com>,
> Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>,
> Pavel Golub <pavel(at)gf(dot)microolap(dot)com>, Pavel Golub
> <pavel(at)microolap(dot)com>, Andres Freund <andres(at)2ndquadrant(dot)com>, Pavel
> Stěhule <pavel(dot)stehule(at)gmail(dot)com>
>
>
> On Wed, Jan 22, 2014 at 1:44 PM, Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp> wrote:
> > On Wed, 22 Jan 2014 20:04:12 +0900 (JST)
> > Tatsuo Ishii <ishii(at)postgresql(dot)org> wrote:
> > parseTypeString() is called by some other functions and I avoided
> > influences of modifying the definition on them, since this should
> > raise errors in most cases. This is same reason for other *MissingOk
> > functions in parse_type.c.
> >
> > Is it better to write definitions of these function and all there callers?
>
> Yes, for parseTypeString certainly. There have been many refactorings
> like that in the past and all of them use this pattern.

Ok. I'll rewrite the definition and there callers.

>
> typenameTypeIdAndMod is less clear since the code paths differ so
> much, maybe keep 2 versions (merging back to 1 function is OK too, but
> in any case you don't need 3).

I'll also fix this in either way to not use typenameTypeIdAndMod_guts.

>
> typenameTypeIdAndModMissingOk(...)
> {
> Type tup = LookupTypeName(pstate, typeName, typmod_p);
> if (tup == NULL || !((Form_pg_type) GETSTRUCT(tup))->typisdefined)
> *typeid_p = InvalidOid;
> else
> *typeid_p = HeapTupleGetOid(tup);
>
> if (tup)
> ReleaseSysCache(tup);
> }
> typenameTypeIdAndMod(...)
> {
> Type tup = typenameType(pstate, typeName, typmod_p);
> *typeid_p = HeapTupleGetOid(tup);
> ReleaseSysCache(tup);
> }
>
> ----
>
> Also, there's no need for "else" here:
> if (raiseError)
> ereport(ERROR, ...);
> else
> return InvalidOid;
>
> Regards,
> Marti

--
Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2014-01-24 03:39:34 Re: Change authentication error message (patch)
Previous Message Bruce Momjian 2014-01-24 03:34:28 Re: Postgresql for cygwin - 3rd