Re: [v9.1] add makeRangeTblEntry() into makefuncs.c
От | Robert Haas |
---|---|
Тема | Re: [v9.1] add makeRangeTblEntry() into makefuncs.c |
Дата | |
Msg-id | AANLkTilZFoKq-O1RRU0AzgaJpc0FJUzmgBRqXo8gv4bz@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [v9.1] add makeRangeTblEntry() into makefuncs.c (Stephen Frost <sfrost@snowman.net>) |
Ответы |
Re: [v9.1] add makeRangeTblEntry() into makefuncs.c
|
Список | pgsql-hackers |
On Mon, Jun 14, 2010 at 8:46 AM, Stephen Frost <sfrost@snowman.net> wrote: > * Robert Haas (robertmhaas@gmail.com) wrote: >> 2010/6/14 KaiGai Kohei <kaigai@ak.jp.nec.com>: >> > It adds makeRangeTblEntry() into makefuncs.c to keep the code more >> > clean. It shall be also used for the upcoming DML refactor patch. >> > In this refactoring, a common DML permission checker function take >> > a list of RangeTblEntry, so the caller has to set up the object. >> >> I think this is the epitome of pointless. It looks to me like this >> just makes the code harder to read and very slightly slower without >> actually accomplishing any useful abstraction. > > I had suggested to KaiGai that he check if there was an existing > function for creating an RTE rather than just malloc'ing it- he took > that to mean he should add one if he couldn't find one. Wasn't my > intent, but by the same token I didn't see it as a terribly bad thing > either. Perhaps it should be improved or maybe we should just rip it > out, but I rather prefer some kind of abstraction for that given it's > use in a number of places. Of course, I may just be overly thinking it. Well, there's not much point in having a function that initializes ONE member of a 20+ member structure and leaves the initialization of all the rest to the caller. The structure effectively functions like a disjoint union, so maybe there'd be some value in having a function for "build a relation RTE", which would set the rtekind to RTE_RELATION and take arguments for the other fields that pertain to that case. But the generic function proposed here doesn't really provide any meaningful abstraction. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company
В списке pgsql-hackers по дате отправления: